GNU Octave教程
编辑教程GNU Octave教程
GNU Octave 是一种高级编程语言,像 MATLAB,它主要是用 MATLAB 兼容。
GNU Octave 也可以用来进行数值计算,还有丰富的 C++ 接口可以让用户编程时调用。
Octave 和 MATLAB 共同的特点
矩阵的基本数据类型 | |
---|---|
它内置支持复数 | |
它具有内置数学函数和库 | |
它支持用户自定义功能 |
GNU Octave 是自由可再分发的软件,这意味着你可以在自由软件基金会发布的GNU通用公共许可证(GPL)的条款下重新分配或对它进行修改。
MATLAB 和 Octave
极大一部分的 MATLAB 程序运行在 Octave,但是有一些 Octave 支持的语法是 MATLAB 不支持的,所以这些 Octave 程序可能无法正常运行。
就好比 MATLAB 只支持单引号,但是Octave能够支持单,双引号来定义字符串
兼容的示例
本教程中涉及的几乎所有的例子都是用 MATLAB 以及 Octave 兼容。
在 MATLAB 和 Octave 试试下面的例子,没有任何语法的变化并且会有相同的结果产生:
以下例子中将建立一个3D表面地图函数 g = xe-(x2 + y2) 。
在MATLAB中建立一个脚本文件,并输入下述代码:
[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps
运行该文件,显示出的3-D地图:
不兼容的例子
MATLAB 中有一部分功能是不能够在 Octave 中使用的,举几个例子:微分和积分积分,无论是从语言还是其他角度,这并不完全匹配。
下面给出两种类型的例子,以此显示他们的语法不同的地方。
在下面的例子中 MATLAB 和 Octave 使不同功能的使用面积曲线: f(x) = x2 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 中使用相同的面积曲线,必须使用符号包如下:
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));
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟