亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> MATLAB

MATLAB - GNU Octave 教程

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

Octave 与 MATLAB 有以下共同特点 -

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

MATLAB 与 Octave

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

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

兼容示例

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

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

[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 中使用,但也有一些功能,例如微积分和微积分,这两种语言并不完全匹配。本教程试图给出两种语法不同的例子。

考虑以下示例,其中 MATLAB 和 Octave 使用不同的函数来获取曲线的面积:f(x) =x 2 cos(x) for −4 ≤ x ≤ 9。以下是 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));

MATLAB

  1. C 教程
  2. MATLAB - 概述
  3. MATLAB - 变量
  4. MATLAB - 命令
  5. MATLAB - 数据类型
  6. MATLAB - 运算符
  7. MATLAB - 矩阵
  8. MATLAB - 数组
  9. MATLAB - 冒号表示法
  10. MATLAB - 数字
  11. MATLAB - 字符串
  12. MATLAB - 函数