1.2简单示例

下面的章节详细描述了Octave的所有函数,但在此之前,对其一些函数进行采样可能会有所帮助。

如果你是octave的新手,我们建议你尝试这些例子来学习octaveOctave:13>,是您输入的行,每行都以回车结束。Octave会给出一个答案,或者显示一个图表。

1.2.1基本计算

Octave可以很容易地用于基本的数值计算。Octave知道算术运算(+,-,*,/)、幂运算(^)、自然对数/指数(log,exp)和三角函数(sin,cos,…)。此外,Octave计算适用于实数或虚数(i,j)。此外,一些数学常数,如自然对数的底(e)和圆的周长与直径的比值(pi)是预定义的。

例如,为了验证Euler的Identity,

i=-1

输入以下内容,其评估结果为-1在计算的公差范围内。

Octave:1>exp(i*pi)

1.2.2创建矩阵

向量和矩阵是数字分析的基本组成部分。要创建新矩阵并将其存储在变量中,以便以后可以引用它,请输入以下命令

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

1.2.3矩阵运算

Octave使用标准的数学表示法,其优势超过了运算符可以作用于标量、向量、矩阵或N维数组的低级语言。例如,要乘以矩阵A.通过标量值,输入命令

Octave:4>2*A

将两个矩阵相乘A.B,输入命令

Octave:5>A*B

并形成矩阵乘积转置(A)*A,输入命令

Octave:6>A'*A

1.2.4求解线性方程组

线性方程组在数值分析中无处不在。求解线性方程组A.xb,使用左除法运算符,\’:

x=A\b

这在概念上等同于inv(A)*b,但避免直接计算矩阵的逆。

如果系数矩阵是奇异的,Octave将打印警告消息并计算最小范数解。

一个简单的例子来自化学和获得平衡化学方程的需要。考虑燃烧氢气和氧气来生产水。

H2+O2-->H2O

上面的方程式不准确。质量守恒定律要求每种类型的分子数量在方程的左右两侧保持平衡。在氢和氧的单独方程中写出可变的总反应,可以查找:

x1*H2+x2*O2-->H2OH:2*x1+0*x2-->2O:0*x1+2*x2-->1

Octave中的解决方案只需三个步骤即可找到。

Octave:1>A=[2,0;0,2];Octave:2>b=[2;1];Octave:3>x=A\b

1.2.5积分微分方程

Octave具有用于求解形式为的非线性微分方程的内置函数

dx--=f(x,t)dt

具有初始条件

x(t=t0)=x0

对于Octave积分这种形式的方程,必须首先提供函数的定义f(x,t)。这很简单,可以通过直接在命令行上输入函数体来完成。例如,以下命令定义了一对有趣的非线性微分方程的右手边函数。请注意,当您输入函数时,Octave会以不同的提示进行响应,表示正在等待您完成输入。

Octave:1>函数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(1xdot(2)=c*a*x(1)*x(2)/(1+b*x(一))-d*x(二);>>结束函数

给定初始条件

Octave:2>x0=[1;2];

以及作为列向量的输出时间集合(注意,第一输出时间对应于上面给出的初始条件)

octave:3>t=林空间(0,50,200)';

很容易对微分方程组进行积分:

octave:4>x=lsode(“f”,x0,t);

函数lsode使用A.C.Hindmarsh,ODEPACK,ODE解算器的系统化集合,载于:科学计算,R.S.Stepleman等人(编辑),北荷兰,阿姆斯特丹,1983年,第55-64页。

1.2.6生成图形输出

要以图形方式显示上一个示例的解决方案,请使用命令

Octave:1>图(t,x)

Octave将自动创建一个单独的窗口来显示绘图。

要在绘图显示在屏幕上后保存绘图,请使用print命令。例如

打印foo.pdf

将创建一个名为foo.pdf其中包含以可移植文档格式呈现的当前绘图。命令

帮助打印

解释了的更多参数打印命令,并提供其他输出文件格式的列表。

1.2.7帮助和文档

Octave拥有广泛的帮助设施。以打印形式提供的相同文档也可以从Octave提示符中获得,因为两种形式的文档都是从同一个输入文件创建的。

为了获得良好的帮助,您首先需要知道要使用的命令的名称。这个函数的名称可能并不总是显而易见的,但一个好的开始是输入帮助--列表。这将向您显示Octave当前会话中可用的所有运算符、关键字、内置函数和可加载函数。替代方法是使用搜索文档查找函数(如所述用于获取帮助的命令).

一旦您知道了要使用的函数的名称,您就可以通过简单地将名称作为参数来获得有关该函数的更多帮助。例如

帮助绘图

将显示的帮助文本plot作用

Octave帮助工具中允许您从Octave中阅读印刷手册全文的部分通常使用一个名为Info的单独程序。当您调用Info时,您将被放入一个包含整个Octave手册的菜单驱动程序中。本手册提供了有关使用信息的帮助,详见用于获取帮助的命令.

1.2.8编辑您输入的内容

在Octave提示下,您可以使用Emacs或vi样式的编辑命令调用、编辑和重新发出前一个命令。defaultkeybindings使用Emacs样式的命令。例如,要调用上一个命令,请按控制-p书面的C-p简称)。这样做通常会返回前一行输入。C-n将调出下一行输入,C-b将在行上向后移动光标,C-f将光标在线上向前移动等。

本手册提供了命令行编辑函数的完整说明,详见命令行编辑.


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号