美文网首页Octave
Octave教程(1)

Octave教程(1)

作者: 蝉之时雨 | 来源:发表于2017-12-13 23:50 被阅读0次

    1、Octave简介:

    Octave 是一款用于数值计算和绘图的开源软件。和 Matlab 一样,Octave 尤其精于矩阵运算:求解联立方程组、计算矩阵特征值和特征向量等等。在许多的工程实际问题中,数据都可以用矩阵或向量表示出来而问题转化为对这类矩阵的求解。

    2、Octave基本函数:

    基本函数

    1.自然对数是用‘ log’而不是‘ ln’来表示的。

    2.三角函数是使用的弧度制。角度制的可以通过乘以引子 π/180 转换为弧度制。

    3、Octave环境

    使用变量

    ans:这个变量存储你每次最近运算的结果。

    在定义和使用变量时, Octave 中变量名是区分大小的,即变量 a 和变量 A 是不同的变量。

    如果你需要从当前的变量空间中删除某个变量, clear 命令能移出所有的变量,或者移出某个特定变量,

    如: clear name 将移出名为 name 的某个变量。

    保存及载入

    当你退出 Octave 的时候,你将丢失你所创建的变量。如果你需要在工作的中途退出 Octave,那么你可

    以保存当前会话的数据并在之后重新载入它。如果你输入

    octave:##> save anyname

    这将整个工作空间上的变量存储到当前目录下一个名为 anyname.mat 的文件中 (注意.mat 是 octave 自动添

    加的)。这样你可以退出 Octave,之后重新启动 Octave 程序,通过输入

    octave:##> load anyname

    将重新载入之前保存的命名空间,并从你中断的地方重新开始工作。

    获取帮助

    help commandname

    4、数组和向量(array,vector)

    构造向量:a=[1 4 5]     b=[a 6]    e=2:6

    冒号表达式的规则是告诉 octave 创建一个以第一个数字开始并以一递增至第二个数的向量。在第一和第 二个数之间可以插入第三个参数来声明向量中元素之间的递增量,形如 a : b : c。

    向量构造函数:

    zeros(M,N) 创建一个 M×N 的零矩阵

    ones(M,N) 创建一个 M×N 的全译矩阵

    linspace(x1,x2,N) 创建一个 N 个元素的向量, 均匀分布于 x1和 x2

    logspace(x1,x2,N) 创建一个 N 个元素的向量,指数分布与10x1 和 10x2 之间

    元素操作

    向量中的元素通过括号 (),而第一个元素的编号为 1, 而不是像 C 或者 C++ 那样从 0 开始。

    冒号的表示法同样可以用于声明向量中的元素的范围

    octave:##> a(3:5)

    ans= 5 -1 0

    octave:##> a(1:2:5)

    ans= 1 5 0

    向量的计算

    两个向量的相乘遵循矩阵的乘法法则,向量乘法并不是对应元素的相乘。如果要进行对应元素的乘除法,

    你可以使用* /算符,注意每个算符前的‘ :’表示为一个元素对元素的计算。

    .*

    大多数的 Octave 函数能以向量为输入。例如,创建一个以 60 度为间隔的角度值,并作为 sin 函数的输入:

    octave:8> angles=[0:pi/3:2*pi]

    5、画图

    Octave 通过调用另一个开源软件 GNUPLOT2来实现非常丰富的画图功能3。最基本的画图命令是

    plot(x,y), 其中 x,y 分别为横轴和纵轴数据。

    octave:1> angles=linspace(0,2*pi,100);

    octave:2> y=sin(angles);

    octave:3> plot(angles,y);

    plot(angles,y) plot 命令中的颜色和样式选项

    legend 命令为该图片添加相应的图例。

    如果你想保存当前的图片内容并将新创建的图片层叠到原图片上,你可以通过使用 hold 命令来实现。使用该命令,我们可以实现在同一幅图上呈现由两个 plot 命令绘制的线条。

    相关文章

      网友评论

        本文标题:Octave教程(1)

        本文链接:https://www.haomeiwen.com/subject/wzwzixtx.html