Matlab矩阵处理(快速过目版)

%1产生特殊矩阵,0矩阵,全1幺矩阵,单位矩阵,随机矩阵,标准正态分布随机矩阵
%zeros();ones();eye();rand();randn();
zeros(3);
zeros(3,2);
A=[1:1:4;1:1:4];
%[1:9];(1:9);1:9;A[1:9]
A(1,2);%一维访问二维,得到1,1是按序列排
B=[1,2,3;1,2,3];
C=A(end-1:end,end-1:end);
D=[B([1,3]);A([1,2]),A(7:9)];
zeros(size(A));

x=20+(50-20)*rand(5);%y=a+(b-a)x,建立k阶区间为(a,b)的随机矩阵
y=0.6+sqrt(0.1)*randn(5);%y=μ+ox,建立均值为μ,方差为0.1k阶正态分布随机矩阵
%随机整数和随机矩阵整数
A=fix((90-10+1)*rand(1)+10);%rand(1)得到一个一阶的随机数,也就得到一个随机整数

%魔方矩阵,每行每列,两条对角线的和都为(n^2+1)n/2
%将[101,125]范围内的数填入5x5的矩阵中,和为565,考虑5阶矩阵和为65,每个数加100即565
M=100+magic(5);

%范德蒙矩阵,最后一列全1,倒数第二列为指定矩阵,其他为最后一列和倒数第二列的乘积
E=vander([1;2;3;5]);

%希尔伯特矩阵
format rat %有理输出
H=hilb(4);
H=invhilb(4);
format

%托普利兹矩阵,第一行一列自己定义,其他每个元素与左上角元素相同
toeplitz(1:6)
toeplitz(1:6,1:5)

%伴随矩阵,多项式的伴随矩阵,由多相式的系数向量构成
%求x^3-7x+6
p=[1,0,-7,6];
compan(p);

%帕斯卡矩阵
Z=pascal(6);
inv(Z)

%对角阵提取主对角线元素
A=[1:3;4:6];
D1=diag(A);  %diag(A,k),对角线可以偏移往上或者下
D=diag([1,1,1,1]); %构建对角阵,mxm的对角阵,也可后面带参(V,k)对角线偏移其他元素为0
diag(diag(A));%生成以A的主对角线元素的对角阵

%三角阵
%上三角triu(A,k)   下三角tril(A,k)

%矩阵转置
B=[1:3;4:6;7:9];
B1=B.';
B2=B'; %共轭转置,若为实数,两者结果相同,等价于conj(A).'

%矩阵旋转和左右上下翻转
B3=rot90(B,1);%逆时针旋转90°
B4=rot90(B3,-1);%顺时针旋转90°
B5=fliplr(B4); %左右翻转
B6=flipud(B5);%上下翻转,旋转180再垂直翻转,等于转置

%逆和伪逆
A=[1:3;4:6];
A1=inv(A); %求逆,即A*A1=A1*A=I
%利用AX=b,得到X=A-1b,即可求解线性方程组,用X=A\b效率更高
%pinv(A) 求伪逆,当A不是一个方阵,或者是一个非满秩的方阵

%行列式,秩,迹
det(A);
rank(A);
trace(A);%等于对角线元素之或者是特征值之和,eig所以也可以判断和sum(diag(A))

%向量和矩阵范数,矩阵条件数
%norm(V,1) norm(V),norm(V,2) norm(V,inf)向量
%norm(A,1) norm(A) norm(A,inf)矩阵
%cond(A,1) cond(A),cond(A,2) cond(A,inf)%条件数越接近1,矩阵性能越好

%特征值和特征向量
A=[1:3;4:6;7:9];
res1=eig(A);
[X,D]=eig(A);
[X1,D1]=eig(A,'nobalance');  %AX=XD,A*inv(D)=I
%特征值法解方程
%p系数矩阵,A=compan(p)再eig(A)==roots(p)

%稀疏矩阵
%完全存储方式和稀疏存储方式,后者按列存储(row,col) num;有两种概念
%一种指的是矩阵的0元素比较多,具有稀疏矩阵的特征,一种是指按稀疏矩阵的方式存储
S=sparse(A);%完全转稀疏,当A为稀疏时,等价于S=A赋值调用,赋值的时候可以引入一个没定义的向量
sparse(m,n);%生成mxn的所有元素为0的稀疏矩阵
sparse(u,v,S); %等长向量,行标,列标,非0元素  对应构成稀疏矩阵
[u,v,S]=find(A);%找出矩阵A中的非0元素的位置构成(row,col) num
full(A);%返回和稀疏矩阵A对应的完全存储方式

spconvert(A)%稀疏矩阵转化为稀疏存储矩阵,其中A是由mx3或mx4的矩阵构成(row,col) num

spdiags(B,d,row,col);%原矩阵X有几条对角线化为B,d为对角线的次序,然后是X的row,col,带状稀疏存储矩阵
[B,d]=spdiags(A);B=spdiags(A,d);E=spdiags(B,d,A);

speye(row,col);%稀疏存储单位矩阵
%两稀疏运算仍未稀疏,其他都为完全存储

你可能感兴趣的:(Matlab,matlab,矩阵,线性代数)