MATLAB是MATrix LABoratory(矩阵实验室)的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C、C++、Java、Python和FORTRAN)编写的程序。下面是对MATLAB官方中文文档的学习总结。
入门
矩阵和数组
所有 MATLAB 变量都是多维数组,与数据类型无关。矩阵是指通常用来进行线性代数运算的二维数组。
数组创建
一般数组的创建
- 在每行中,用
,
或者空格
来分隔每个元素;
1 | a = [1 2 3 4] |
- 用
;
来分隔每行,形成矩阵;
1 | a = [1 2 3; 4 5 6; 7 8 9] |
函数创建矩阵
ones 函数
- 格式:
ones(行数, 列数)
- 功能:创建由1构成的行数⨉列数的矩阵
1 | ones(2,3) |
zeros 函数
- 格式:
zeros(行数, 列数)
- 功能:创建由0构成的行数⨉列数的矩阵
1 | zeros(2,3) |
矩阵和数组运算
MATLAB 允许使用单一的算术运算符或函数来处理矩阵中的所有值。
比如 sin(a)
即可将a矩阵中的所有值带入 sin函数。
命令 | 功能 |
---|---|
a' |
矩阵转置 |
inv(a) |
矩阵求逆 |
a*b |
矩阵的乘法 |
a.*b |
矩阵元素级乘法 |
矩阵串联
[a, a]
水平串联[a; a]
垂直串联
数组索引
注意:MATLAB中数组的开始下标为 1。
命令 | 功能 |
---|---|
a(行下标, 列下标) |
得到指定行和列下标的元素 |
a(下标) |
用单一下标按顺序向下遍历每一列,得到单一元素 |
a(开始行下标:结束行下标, 列下标) |
得到指定列,从开始行到结束行的元素数组 |
a(:, 列下标) |
得到指定列的元素数组 |
工作变量
工作区包含在 MATLAB 中创建或从数据文件或其他程序导入的变量。
- whos 可以查看工作区的内容。
- 退出 MATLAB 后,工作区变量不会保留。使用 save 命令保存数据以供将来使用
save myfile.mat
- 要清除工作区中的所有变量,请使用 clear 命令。
- 使用 load 将 MAT 文件中的数据还原到工作区。
load myfile.mat
文本与字符
- MATLAB中用
""
定义字符; +
连接字符或数字;
调用函数
- 格式:
[输出变量1, 输出变量2...] = functionName(输入变量1, 输入变量2...)
- 将任何字符输入括在单引号中
- clc 函数清空命令行窗口
二维图和三维图
二维图
用 plot
函数创建二维线图。
1 | x = 0:pi/100:2*pi; %自变量数组 |
利用hold on
一个窗口显示两个图。
1 | x = 0:pi/100:2*pi; |
三维图
- 使用
meshgrid
在此函数的域中创建一组 (x,y) 点 surf
创建曲面图
1 | mat[X,Y] = meshgrid(-2:.2:2); |
子图
使用 subplot
函数可以在同一窗口的不同子区域显示多个绘图。
格式:subplot(a, b, c)
功能:a⨉b网格中的第c个位置显示图形。
1 | t = 0:pi/10:2*pi; |