下面的章节详细描述了Octave的所有函数,但在此之前,对其一些函数进行采样可能会有所帮助。
如果你是octave的新手,我们建议你尝试这些例子来学习octave. 像这样标记的行,
‘octave:13>’ 或 ‘>> ’, 是你输入的行, 用
回车结束. (不要输入 ‘octave:13>’ 它自己! 这只是
Octave 命令提示符, 这就像GUI中的 >>
一样.
Octave 将根据输入返回输出, 或输出图表.
Octave可以很容易地用于基本的数值计算。Octave知道算术运算(+,-,*,/)、幂运算(^)、自然对数/指数(log,exp)和三角函数(sin,cos,…)。此外,Octave计算适用于实数或虚数(i,j)。此外,一些数学常数,如自然对数的底(e)和圆的周长与直径的比值(pi)是预定义的。
例如,为了验证Euler的Identity,
i*pi e = -1
输入以下内容,其评估结果为-1
在计算的公差范围内。
octave:1> exp (i*pi)
向量和矩阵是数字分析的基本组成部分。要创建新矩阵并将其存储在变量中,以便以后可以引用它,请输入以下命令
octave:1> A = [ 1, 1, 2; 3, 5, 8; 13, 21, 34 ]
Octave将通过在整齐排列的列中打印矩阵来做出响应。Octave使用逗号或空格分隔一行中的条目,asemicolon或回车分隔一行和下一行。以分号结尾命令告诉Octave不要打印命令的结果。例如
octave:2> B = rand (3, 2);
将创建一个3行2列的矩阵,每个元素都设置为0到1之间的随机值。
要显示变量的值,只需在提示下输入变量的名称。例如,显示存储在矩阵中的值B
,输入命令
octave:3> B
Octave使用标准的数学表示法,其优势超过了运算符可以作用于标量、向量、矩阵或N维数组的低级语言。例如,要乘以矩阵A
通过标量值,输入命令
octave:4> 2 * A
将两个矩阵相乘A
和B
,输入命令
octave:5> A * B
并形成矩阵乘积transpose (A) * A
,输入命令
octave:6> A' * A
线性方程组在数值分析中无处不在。求解线性方程组A.xb
,使用左除法运算符,\’:
x=A\b
这在概念上等同于inv (A) * b
,但避免直接计算矩阵的逆。
如果系数矩阵是奇异的,Octave将打印警告消息并计算最小范数解。
一个简单的例子来自化学和获得平衡化学方程的需要。考虑燃烧氢气和氧气来生产水。
H2 + O2 --> H2O
上面的方程式不准确。质量守恒定律要求每种类型的分子数量在方程的左右两侧保持平衡。在氢和氧的单独方程中写出可变的总反应,可以查找:
x1*H2 + x2*O2 --> H2O H: 2*x1 + 0*x2 --> 2 O: 0*x1 + 2*x2 --> 1
Octave中的解决方案只需三个步骤即可找到。
octave:1> A = [ 2, 0; 0, 2 ]; octave:2> b = [ 2; 1 ]; octave:3> x = A \ b
Octave具有用于求解形式为的非线性微分方程的内置函数
dx -- = f (x, t) dt
具有初始条件
x(t = t0) = x0
对于Octave积分这种形式的方程,必须首先提供函数的定义f(x,t)
。这很简单,可以通过直接在命令行上输入函数体来完成。例如,以下命令定义了一对有趣的非线性微分方程的右手边函数。请注意,当您输入函数时,Octave会以不同的提示进行响应,表示正在等待您完成输入。
octave:1> function xdot = f (x, t) > > r = 0.25; > k = 1.4; > a = 1.5; > b = 0.16; > c = 0.9; > d = 0.8; > > xdot(1) = r*x(1)*(1 - x(1)/k) - a*x(1)*x(2)/(1 + b*x(1)); > xdot(2) = c*a*x(1)*x(2)/(1 + b*x(1)) - d*x(2); > > endfunction
给定初始条件
octave:2> x0 = [1; 2];
以及作为列向量的输出时间集合(注意,第一输出时间对应于上面给出的初始条件)
octave:3> t = linspace (0, 50, 200)';
很容易对微分方程组进行积分:
octave:4> x = lsode ("f", x0, t);
函数lsode
使用A.C.Hindmarsh,ODEPACK,ODE解算器的系统化集合,载于:科学计算,R.S.Stepleman等人(编辑),北荷兰,阿姆斯特丹,1983年,第55-64页。
要以图形方式显示上一个示例的解决方案,请使用命令
octave:1> plot (t, x)
Octave将自动创建一个单独的窗口来显示绘图。
要在绘图显示在屏幕上后保存绘图,请使用print命令。例如
print foo.pdf
将创建一个名为foo.pdf其中包含以可移植文档格式呈现的当前绘图。命令
help print
解释了的更多参数print
命令,并提供其他输出文件格式的列表。
Octave拥有广泛的帮助设施。以打印形式提供的相同文档也可以从Octave提示符中获得,因为两种形式的文档都是从同一个输入文件创建的。
为了获得良好的帮助,您首先需要知道要使用的命令的名称。这个函数的名称可能并不总是显而易见的,但一个好的开始是输入help --list
。这将向您显示Octave当前会话中可用的所有运算符、关键字、内置函数和可加载函数。替代方法是使用搜索文档lookfor
函数(如所述Commands for Getting Help).
一旦您知道了要使用的函数的名称,您就可以通过简单地将名称作为参数来获得有关该函数的更多帮助。例如
help plot
将显示的帮助文本plot
作用
Octave帮助工具中允许您从Octave中阅读印刷手册全文的部分通常使用一个名为Info的单独程序。当您调用Info时,您将被放入一个包含整个Octave手册的菜单驱动程序中。本手册提供了有关使用信息的帮助,详见用于获取帮助的命令.
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2