MATLAB GNU Octave教程

MATLAB GNU Octave教程

GNU Octave是一个类似于MATLAB的高级编程语言,与MATLAB兼容性较高。它也用于数值计算。

Octave具有以下与MATLAB共同的特征:

  • 矩阵是基本数据类型
  • 它内置支持复数
  • 它内置数学函数和库
  • 它支持用户自定义函数

GNU Octave也是可自由再分发的软件。您可以在自由软件基金会发布的GNU通用公共许可证(GPL)的条款下重新分发或修改它。

MATLAB vs Octave

大多数MATLAB程序可以在Octave中运行,但一些Octave程序在MATLAB中可能无法运行,因为Octave允许一些MATLAB不允许的语法。

例如,MATLAB仅支持单引号,而Octave支持单引号和双引号来定义字符串。如果您正在寻找有关Octave的教程,请从头开始阅读本教程,其中同时涵盖了MATLAB和Octave。

兼容的示例

几乎所有在本教程中涵盖的示例都与MATLAB和Octave兼容。让我们在MATLAB和Octave中尝试以下示例,它们会产生相同的结果,无需进行任何语法更改-

此示例为函数g = xe创建了一个3D表面图 -(x 2 + y 2 ) 。创建一个脚本文件并键入以下代码 –

[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

当你运行该文件时,MATLAB会显示以下3D图:

MATLAB GNU Octave教程

不兼容的示例

尽管MATLAB的所有核心功能在Octave中都可用,但在某些功能(例如微分与积分计算)上两种语言并不完全匹配。本教程试图提供两种语法上有差异的示例。

考虑以下示例,MATLAB和Octave分别使用不同的函数来计算曲线的面积:f(x) = x 2 cos(x),其中−4 ≤ x ≤ 9。以下是MATLAB版本的代码−

f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));

当你运行这个文件时,MATLAB会绘制图形−

MATLAB GNU Octave教程

以下结果显示:

a =
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)

Area: 
   0.3326

但是要在Octave中计算相同曲线的面积,您需要使用 symbolic 软件包,如下所示:

pkg load symbolic
symbols

x = sym("x");
f = inline("x^2*cos(x)");

ezplot(f, [-4,9])
print -deps graph.eps

[a, ierror, nfneval] = quad(f, -4, 9);
display('Area: '), disp(double(a));

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程