当前位置:   article > 正文

gnu octave和matlab,MATLAB - GNU Octave

octave可以运行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 + 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显示以下三维地图 -

1e5db6bd18d9bc324e8ac81a2fd0d148.png

Non-compatible Examples

虽然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绘制图形 -

d9b02e0bbc61189a0df7e15e265b394a.png

显示以下结果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 - Transforms

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/181407?site
推荐阅读
相关标签
  

闽ICP备14008679号