- 教程
- 概述
- Environment Setup
- 语法
- 变量
- Commands
- M-Files
- 数据类型
- 运算符
- Decisions
- 循环
- Vectors
- Matrix
- Arrays
- Colon Notation
- Numbers
- Strings
- Functions
- Data Import
- Data Output
- Plotting
- Graphics
- Algebra
- Calculus
- Differential
- Integration
- Polynomials
- Transforms
- GNU Octave
- Simulink
- 有用的资源
- 讨论
- Show 例子 1
- Show 例子 2
- Show 例子 3
- Show 例子 4
- Show 例子 5
- if ... end statement
- if...else...end statement
- if...elseif...else statement
- 嵌套 if 语句(nested if statements)
- switch statement
- 嵌套的 switch 语句(nested switch statements)
- while 循环
- for 循环
- nested 循环
- break statement
- continue statement
- 载体的加法和减法(Addition and Subtraction of Vectors)
- 向量的标量乘法(Scalar Multiplication of Vectors)
- 矢量的转置(Transpose of a Vector)
- 附加向量(Appending Vectors)
- 矢量的大小(Magnitude of a Vector)
- 矢量点产品(Vector Dot Product)
- Vectors with Uniformly Spaced Elements
- 矩阵的加法和减法(Addition and Subtraction of Matrices)
- 矩阵划分(Division of Matrices)
- 矩阵的标量运算(Scalar Operations of Matrices)
- 矩阵的转置(Transpose of a Matrix)
- 连接矩阵(Concatenating Matrices)
- 矩阵乘法(Matrix Multiplication)
- 矩阵的行列式(Determinant of a Matrix)
- 逆矩阵(Inverse of a Matrix)
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
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显示以下三维地图 -
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绘制图形 -
显示以下结果
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));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论