MATLAB基础2-2-数据结构2
矩阵
向量
length 向量长度
等于元素长度
向量数值运算
cumsum %累加和,向量中的每个元素是另一个向量前i个元素的累加和
cumprod %累乘积,向量中的每个元素是另一个向量前i个元素的累乘积
矩阵
zeros 零矩阵
生成全0矩阵
x=zeros(6,3)
zeros(m) 全0方阵
zeros(m,n) 全0mXn矩阵
zeros(size(A)) 创建与A形状相同的矩阵
任意区间随机分布整数
fix(a+(b-a+1)*x) fix表示取整数
ones 全1矩阵
eye 单位矩阵
创建单位矩阵
奇异矩阵,行列式为0,无穷解
非奇异矩阵,行列式不为0,唯一解
magic 幻方矩阵
magic(n) nXn的矩阵,元素从1到n^2, 随机赋值
rand 0-1均匀分布随机矩阵
创建0,1区间均匀分布的随机矩阵
创建方阵
x=rand(2) 生成一个2X2的随机数矩阵
创建非方阵
x=rand(2,3) 生成2X3
randn状态分布矩阵
创建均值为0,方差为1的标准正态分布随机矩阵
μ
+
σ
x
{\mu}+{\sigma}x
μ+σx表示任意均值和方差
σ
2
{\sigma}^2
σ2为标准差
diag 对角矩阵
diag(A)
提取矩阵A主对角线元素,组成一个列向量
diag(A,k)
提取矩阵A第k条对角线(主对角为第0条,右上为第1条,左下为第2条)元素,组成一个列向量
diag(v)
以向量V为主对角元素创建一个对角矩阵
diag(v,k)
以向量V为第k条对角元素创建一个对角矩阵
triu 上三角矩阵
triu(A)
提取主对角线以上的元素
triu(A,k)
提取第k条主对角线以上的元素
tril 下三角矩阵
其他矩阵
randi
vander % 创建范德蒙矩阵,注意顺序问题。matlab与书中不太一样
hilb % 创建希尔伯特矩阵
pascal % 创建帕斯卡矩阵,用到的二项式定理展开后的系数
length 矩阵维度最大长度
length(A)=max(size(A)) %最大维度的元素长度
size 矩阵大小
显示矩阵和数组的大小,行数和列数,单变量size只能获得一个输出变量
获得多个输出 [xrow,xcol]=size(x) 得到两个输出变量
max 矩阵最大值
不同于数组、向量
max(A) 返回一个行向量,行向量中的每个元素i是矩阵A的第i列上的最大值
[y,u]=max(A) y,u为行向量,y向量记录每列的最大值,u向量记录每列最大值元素的行号
max(A,[],dim) dim=1或2,1时,与max(A)完全相同,2时,返回一个列向量,列向量中的第i个元素是矩阵A第i行上的最大值
矩阵数值运算
mean %平均值,用法见max
median %中值
sum %求和
prod %求积
std
标准差计算数据偏离平均数的距离的平均值
样本标准差;总体标准差: 样本标准差和总体标准差的公式有细微差别
std(x) 计算向量标准差
std(A) 计算矩阵A的各列的标准差
std(A,flag,dim) flag=0为样本标准差,flag=1为总体表标准差 默认flag=0,dim=1(=1为按列计算,=2为按行计算)
corrcoef
相关系数
corrcoef(A) 返回由矩阵A所形成的一个相关系数矩阵,其中第i行和第j列表示原矩阵A中第i行和第j列的相关系数(需要看公式),返回一个对称矩阵
corrcoef(x,y) x和y是向量,求两向量之间的相关系数
矩阵性质运算
inv %矩阵求逆`inv(A)`
det %计算行列式
compan %创建多项式系数的伴随矩阵
cond %计算条件数,1为数值稳定,Inf为奇异矩阵;矩阵的范数与矩阵逆的范数的乘积,越接近1越好
rank %返回矩阵的秩
trace %矩阵的迹
norm % 计算范数;注意向量的范数和矩阵的范数不同
注意向量范数和矩阵范数定义的不同
norm(v,1) 1范数
norm(v) 2范数
norm(v,inf) 无穷范数
vecnorm 计算每行每列的范数
转置
' 共轭转置
.' 转置不改变符号
reshape 改变矩阵形状
reshape(x,3,4) 改变形状,但是不改变元素的顺序,注意是按列的顺序
A(:) 直接将矩阵变成一个列向量
cat 串联
cat(dim,A,B..) dim=1按列串联,=2按行串联
[ ] 不同函数的串联
直接利用[]
[A,B] 表示行串联,注意维度一致
[A;B] 表示列串联,注意维度一致
rot90 矩阵旋转
rot90(A,k)
逆时针旋转90度的k倍
fliplr 矩阵上下翻转
第一(行)列与最后一(行)列翻转,第二(行)列与倒数第二(行)列互换
fllipud(A)
上下翻转
fliolr 矩阵上下翻转
fliolr(A)
左右翻转
矩阵方程运算
-
eig
计算特征值,返回向量
E=eig(A)
构成列向量
[x,D]=eig(A)
D为特征值为主对角线构建,X为特征向量构成的矩阵
几何意义:
A相当于变换矩阵,特征向量相当于原矩阵,特征值为伸缩因子
eigshow
函数 -
kron
计算张量积 -
rref([A b])
判断方程是否有精确解
空矩阵
空矩阵会被忽略
A = [5.36; 7.01; []; 9.44] %返回的是三行的数据