MATLAB - Octave

MATLAB - Octave 首页 / MATLAB入门教程 / MATLAB - Octave

GNU Octave是像MATLAB这样的高级编程语言,它与MATLAB大部分兼容。它也用于数值计算。

Octave与MATLAB具有以下共同特征-

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

GNU Octave也是可免费重新发行的软件,您可以根据自由软件基金会发布的GNU通用公共许可(GPL)的条款重新分发和/或修改它。

MATLAB vs Octave

大多数MATLAB程序都在Octave中运行,但是某些Octave程序可能无法在MATLAB中运行,因为Octave允许某些MATLAB不能使用的语法。

例如,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映射-

3-D Map in Matlab

不兼容例子

尽管MATLAB的所有核心函数都可以在Octave中使用,但是有些函数(例如,差分和积分演算)在两种语言中都不完全匹配。 本教程尝试提供两种示例,它们的语法有所不同。

链接:https://www.learnfk.comhttps://www.learnfk.com/matlab/matlab-gnu-octave.html

来源:LearnFk无涯教程网

考虑下面的示例,其中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绘制图形-

Definite Integral

显示以下输出

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));

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

白话法律42讲 -〔周甲徳〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

Flutter核心技术与实战 -〔陈航〕

Vim 实用技巧必知必会 -〔吴咏炜〕

深入剖析Java新特性 -〔范学雷〕

朱涛 · Kotlin编程第一课 -〔朱涛〕

自动化测试高手课 -〔柳胜〕

Web 3.0入局攻略 -〔郭大治〕

现代React Web开发实战 -〔宋一玮〕

好记忆不如烂笔头。留下您的足迹吧 :)