文章目录
Matlab简单入门
Matlab工作界面
一、数组的创建和运算
1.1 数的算术运算
- 运算符:+ - * / ^ ()
- 特殊的变量和常数(不要用这些作为变量名):ans,i、j(表示复数),eps(浮点的相对精度),inf(无穷大),pi( π \pi π),NaN(Not a number)
- Matlab中数据以数组的形式保存,默认类型为double(1个数字默认为1*1矩阵)
- 命令行窗口显示格式:short(with 4 digits after the decimal point)
如需更改显示格式,在命令行窗口输入: >>format long/rat/shortE
1.2 数组的创建和运算
Matlab中数据以数组的形式保存。
1.2.1 数组的创建:
- 行向量:>>a=[1 2 3 4]
- 列向量:>>b=[1;2;3;4]
- 矩阵:>>c=[1 2 3 4 5; 6 7 8 9 10; 11 12 13 14 15; 15 17 18 19 20;21 22 23 24 25]
- 使用技巧:
分号,创建数组时,分号用于分隔各个行向量。分号用于语句末尾,表示禁止输出。
逗号,用作分隔符,可以用来分隔数组下标、创建数组时分隔行元素(等同于空格)
- 一些特殊矩阵
注:幻方矩阵只由 1 到 n 2 n^2 n2的整数构成并且总行数和总列数相等的 n × n n×n n×n 矩阵
1.2.2 矩阵的索引
A
=
[
1
21
6
5
17
9
31
2
7
]
A=\begin{bmatrix} 1 & 21&6 \\ 5 & 17&9\\31&2&7 \end{bmatrix}
A=⎣⎡153121172697⎦⎤
Matlab中的矩阵编号为按列进行编号:
1.2.3 矩阵的变换
冒号的使用:
用法一: 对数组某个维度的部分/所有元素进行索引
magic(3)
A = 3 × 3 8 1 6 3 5 7 4 9 2 \begin{aligned} A = &3×3\\ &8 \qquad 1 \qquad 6\\ &3 \qquad 5 \qquad 7\\ & 4 \qquad 9 \qquad 2\\ \end{aligned} A=3×3816357492
A(1,:)
a
n
s
=
1
×
3
8
1
6
\begin{aligned} ans= &1×3\\ &8 \qquad 1 \qquad 6\\ \end{aligned}
ans=1×3816
**用法二:**生成固定间隔的行向量
B=1:5(从1到5)
B=1:2:5(从1到5,间隔为2)
用法三:将数组重构为列向量
(以上面的幻方矩阵为例)
1.2.4 常用获取数组信息的函数
函数 | 作用 |
---|---|
max(A) | 返回行向量,每一列找最大值 |
max(max(A)) | 返回整个数组的最大值 |
min(A) | 返回行向量,每一列找最小值 |
sum(A) | 返回行向量,每一列求和 |
mean(A) | 返回行向量,每一列求平均值 |
sort(A) | 每一列按大小进行排序 |
sortrows(A) | 只将第一列按大小进行排序,其余元素依第一列进行变动 |
size(A) | 返回数组大小 |
length(A) | 返回最大的数组维度的长度,max(size(A)) |
find(A) | 返回A内所有非零元素的索引值 |
ndims(A) | 返回数组维度 |
numel(A) | 返回数组内元素个数 |
串联数组:
cat()沿指定维度串联数组
1.2.5 三维矩阵的创建
1.2.6 数组/矩阵的算术运算
1.2.7 数组/矩阵中的逻辑运算
二、循环和向量化编程
2.1 条件判断(if…else)
2.2 while循环
2.3 for循环
注:使用for循环时,提前在工作区中创建矩阵可以缩短运行时间
三、Matlab常用命令