MATLABOctave
GNU Octave是像MATLAB这样的高级编程语言,它与MATLAB大部分兼容。它也用于数值计算。
Octave与MATLAB具有以下共同特征-
- 矩阵是基本数据类型
- 它具有对复数的内置支持
- 它具有内置的数学函数和库
- 它支持用户定义的函数
GNU Octave也是可免费重新发行的软件,您可以根据自由软件基金会发布的GNU通用公共许可(GPL)的条款重新分发和/或修改它。
MATLAB vs Octave
例如,MATLAB仅支持单引号,但是Octave支持单引号和双引号来定义字符串。
相容范例
本教程中介绍的几乎所有示例都与MATLAB以及Octave兼容。让我们尝试下面的示例在MATLAB和Octave中产生相同输出而无需任何语法更改-
本示例为函数g=xe -(x 2 + y 2 )创建3D表面贴图。创建一个脚本文件并输入以下代码-
[x,y]=meshgrid(-2:.2:2); g=x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
运行文件时,MATLAB显示以下3-D映射-

不兼容例子
考虑下面的示例,其中MATLAB和Octave使用不同的函数来获取曲线的面积:-4≤x≤9的f(x)= x 2 cos(x)。以下是MATLAB版本代码的-
f=x^2*cos(x); ezplot(f, [-4,9]) a=int(f, -4, 9) disp('Area: '), disp(double(a));
运行文件时,MATLAB绘制图形-

显示以下输出
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));
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者