GNU Octave 是一种高级编程语言,像 MATLAB,它主要是用 MATLAB 兼容。
GNU Octave 也可以用来进行数值计算,还有丰富的 C++ 接口可以让用户编程时调用。
Octave 和 MATLAB 共同的特点
-
矩阵的基本数据类型
-
它内置支持复数
-
它具有内置数学函数和库
-
它支持用户自定义功能
GNU Octave 是自由可再分发的软件,这意味着你可以在自由软件基金会发布的GNU通用公共许可证(GPL)的条款下重新分配或对它进行修改。
MATLAB 和 Octave
极大一部分的 MATLAB 程序运行在 Octave,但是有一些 Octave 支持的语法是 MATLAB 不支持的,所以这些 Octave 程序可能无法正常运行。
就好比 MATLAB 只支持单引号,但是Octave能够支持单,双引号来定义字符串
兼容的示例
本教程中涉及的几乎所有的例子都是用 MATLAB 以及 Octave 兼容。
在 MATLAB 和 Octave 试试下面的例子,没有任何语法的变化并且会有相同的结果产生:
以下例子中将建立一个3D表面地图函数 g = xe-(x2 + y2) 。
在MATLAB中建立一个脚本文件,并输入下述代码:
[x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
运行该文件,显示出的3-D地图: