1. 常量
常见的常量有:pi,inf, NaN, realmax, realmin等
2. 变量
1) 区分大小写
2) 命名规则同C语言
3) 最长不超过31位
4) 工作区的变量可以通过save 文件名 存储,用load加载
5) Clear清楚本工作区的所有变量
3. help
help 要帮助的命令
4. 数组
等差数列 1:1:10, start:step:end
Linspace logspace
5. 数组大小
数组大小用size可以得到数组的行、列。
Length可以得到行、列中最大的那个值
Numel得到行*列
6. 判断数组类型
用类似于isinteger(a)这样的判断函数。
7. 查看本工作区所有变量
Who whos
8. 产生特殊数组
zeros(m,n) 生出0数组
ones(m,n) 生出1数组(单位阵)
eye(m,n) 对角为1的数组
diag(v) 用向量v作为对角线生出矩阵
diag(v, k) 用向量v作为右移k的对角线矩阵
rand(m,n) 生成0-1均匀分布的m行n列的矩阵
randn(m, n) 生成正态分布的m行n列的矩阵
magic(n) 生成n行列魔方,每行每列的和相同
9. 数组数字索引
1) 用小括号进行索引
2) 索引从1开始(不同于C语言的0)
3) 索引可以是一个向量
4) 双索引和单索引都可以索引数据,单索引按列优先,如3行3列的数组a,a(2,3)=a((3-1)*3+2)=a(8)
5) 双索引和单索引可以转换
双→单 ind = sub2ind(siz, i, j),siz用于指定数值的尺寸,一般用size(a)得到
单→双 ind2sub(siz, ind)
10. 逻辑索引
11. 数组编辑器
双击工作区的变量可以方便的编辑。
12. 数组扩展
cat(dim, a, b) 将a,b数组连接,dim方向,1水平,2垂直
horzcat(a,b..) = cat(2, a, b,…)
vertcat(a, b, …) = cat(1, a, b, …)
repmat(A, m, n) 用A为块元素构成m行n列的大数组
blkdiag(a, b, …) 用a, b, …为对角元素构成对角阵,a,b为小数组块
另外可以采用索引扩展,直接用较大的索引扩充数组,未指定的元素初始化为0。
13. 数组裁剪
1) 用冒号,使用类似于Python。
2) 指定抽取的行列,如A(a1, a2,…; b1, b2, b3…)可以抽取a1、a2行,b1、b2列的元素,也可以是等差数列作索引,如A(1:2:11,:)抽取奇数行的数据。
14. 数组转置
A’,复数数组会共轭,如果要纯转置用“.’”。
可以用函数实现转置,非共轭转置用:transpose,共轭转置用:ctranspose。
15. 数组反转
flip
16. 尺寸调整
reshape
设A是m行n列的数组
B = reshape(A, a, b)
要求m*n = a*b
17. 数组运算
+ - * ^
除法分左除、右除
左除:A/B=A*inv(B)=A*pinv(B)
右除:A\B=inv(A)*B=pinv(A)*B
18. 数组点运算
对数组中每个元素做运算时可以采用点运算
A.*B对同尺寸A、B对应元素相乘
A./B或A.\B 实现对应元素相除
A.^n 实现对A每个元素求n次方
19. 专门针对于数组的运算函数
以m结尾的函数,如sqlrtm、expm、logm等
20. 数组查找
只一个find函数,find(a)返回数组a非0元素的单索引
一般和逻辑数组配合使用,如find(a>3.5)。
21. 数组排序
sort
22. MATLAB的数据类型
complex(real, image)生出复数
real(x) 得到x的实部
abs(x) 求x的绝对值
conj(x) 求x的共轭复数
class(a) 得到a的类型