matlab矩阵分析

matlab中一切数据类型都是以矩阵的形式存储计算的,矩阵的分析运算函数很重要,学习这里线性代数基础要好,得多看看线代

%%
%矩阵分析
%奇异矩阵(行列式为0的方阵)不可逆,可逆矩阵一定满秩
%(可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵)
%%
%求逆矩阵inv()
clc
A=[1 2 -3;3 4 5;7 8 9];
 B=inv(A);
 fprintf('奇异矩阵不可逆\n');
disp('A的逆矩阵是:');
B
%%
%求向量的范数norm()
clear
clc
a=[1 2 3 -1 -2 -3];
N1=norm(a,1)%求一节番薯
sum(abs(a))
N2=norm(a,2)%二阶
sum_liu=0;%小心系统定义函数名被覆盖
for i=1:length(a)
    sum_liu=sum_liu+a(i)^2;
end
sqrt(sum_liu)
N3=norm(a,inf)%无穷阶
max(abs(a))
%求矩阵的范数norm()
A=[1,2,3;3,4,5;7,8,9];
N1=norm(A,1)
max(sum(abs(A)))
N2=norm(A,2)
norm(A)
N3=norm(A,inf)
 max(sum(abs(A')))
 %%
 %矩阵的秩rank()
 clear
 clc
 A=[1,2,3;3,4,5;7,8,9];
 r1=rank(A)
 B=magic(5);
 r2=rank(B)
 %%
 %求矩阵的行列式det()
 clc
 clear
 format long;
 A=[1,2,-3;3,4,5;7,-8,9];
 d1=det(A)
  B=magic(3);
 d2=det(B)
%n阶矩阵的行列式是n*n的矩阵通过一种运算求出的数值,这个值的几何含义是n维向量张成的体积
%%
%矩阵的迹trace()
%对角线元素之和
A=[1,2,-3;3,4,5;7,-8,9];
t1=trace(A)
 B=magic(3);
 t2=trace(B)
 %%
 %化零矩阵null()
 clear
 clc
 A=[1,2,3;3,4,5;7,8,9];
 null(A)
 N=null(A,'r')%‘r'代表得到有理数形式的化零矩阵
A*N
%%
%矩阵的正交基orth()
clear
clc
 A=[1,2,3;3,4,5;7,8,9];
 orth(A)
 %%
 %矩阵的最简行阶梯形式rref()
 %用于求解线性方程组
clear
clc
 A=[1,0,-3;0,-4,5;0,0,-10];
 rref(A)
 %%
 %矩阵之间的夹角subspace()
 %夹角表示两矩阵之间的线性相关度
  clear
 clc
 A=[1,2,3;3,4,5;7,8,9];
  B=magic(3);
  subspace(A,B)
  %%
  %矩阵分解
  %讲四种
  %针对对称正定矩阵的Cholesky分解chol()
  clear
  clc
  A=pascal(5)%帕斯卡矩阵对称正定
  R=chol(A)
  R'
  R'*R%==A
  %针对方阵的高斯消去lu()
  clc
 A=[1,2,3;3,4,5;7,8,9];
 [L1,U1]=lu(A)
L1*U1
[L2,U2,P]=lu(A)
inv(P)*L2*U2
%针对矩形矩阵的正交分解qr()
clc
[Q R]=qr(A)
Q*R
%针对方阵的舒尔分解
clc
A=pascal(5)
[U S]=schur(A)%U为酋矩阵,S为块对角矩阵
U*S*U'
%特征值分解svd()
clc
A = [1 2; 3 4; 5 6; 7 8]
[U,S,V] = svd(A)
U*S*V'
 %%
  %q求方阵的特征值和特征向量eig()
clear
clc
format rat;
A=[0.8,0.2;0.2,0.8]
eig(A)%返回特征值组成的列向量
[X D]=eig(A)%特征值D,特征向量X
for i=1:length(D)
A*X(:,i)
max(D(:,i))*X(:,i)
end 
%求奇异值
%设A为m*n阶矩阵,q=min(m,n),A*A的q个非负特征值的算术平方根叫作A的奇异值
clc
A = [1 0 1; -1 -2 0; 0 1 -1]
svd(A)%奇异值组成的列向量
rank(A)
%矩阵A的秩等于它的非零奇异值的个数


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值