2021-09-28


## 第三天matlab学习笔记

**
%求行列式的值det(A)
 %例子验证A的逆矩阵的行列式的值等于A的行列式的值的倒数
format rat
A=[1 3 2;-3 2 1;4 1 2]
det(pinv(A))
1/det(A)%运算逆矩阵行列式可能报错,原因为原矩阵没有逆矩阵或者行列式无限接近0为病态矩阵

%求矩阵秩rank(A)
%例子求3到20阶魔方矩阵的秩
% {for n=3:20
% r(n)=rank(magic(n))
% end
% bar(r)%绘制r的直方图
% grid on%显示图像坐标网格
% axis([2,21,0,20])}%规定xy取值范围

%矩阵的迹trace(A)
A=[1 3 2;-3 2 1;4 1 2]
b=trace(A)
b1=sum(diag(A))

%求向量范数 norm(V)或者norm(V,2)求2范数。norm(V,1)求一范数,norm(V,inf)求无穷大范数
A1=[2 0 1;-1 1 0;-3 3 0]
n1=norm(A1,1)
n2=norm(A1,2)

%求条件数,A范数乘A逆的范数为条件数,其值越解近1,矩阵性能越好
%cond(A,1/2/inf)与求范数对应
%例子求2到10阶希尔伯特矩阵2阶条件数
for n3=2:10
    c(n3)=cond(hilb(n3),2)
end
format long
c'%共轭转置(只有实部的数共轭就是其本身,共轭实部不变虚部相反)

%求特征值和特征向量
%E=eig(A):求矩阵A的全部特征值,构成向量E。
%[X,D]=eig(A)∶求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。
B=[1 1 0;1 0 5;1 10 2]
format short%short为默认格式
[x,d]=eig(B)
B*x(:,1)
d(1)*x(:,1)

%稀疏矩阵(0元素远远多于非0元素)A=sparse(S)将S矩阵转为稀疏存储矩阵A,它的逆过程为S=full(A)
%sparse(m,n):生成一个m x n的所有元素都是零的稀疏矩阵。
%sparse(u,v,S):其中u、v、S是3个等长的向量。S是要建立的稀疏存储矩阵的非零元素,ui、vi分别是Si的行和列下标。
A2=sparse([1 2 2],[2 1 4],[4 5 -7])
B2=full(A2)

% %使用spconvert函数直接建立稀疏存储矩阵,其调用格式为:
% B=spconvert(A)
% A为一个m×3或m ×4的矩阵,其每行表示一个非零元素,m是非零元素的个数。
% A(i,1)表示第i个非零元素所在的行。A(i,2)表示第i个非零元素所在的列。A(i,3)表示第i个非零元素值的实部。A(i,4)表示第i个非零元素值的虚部。
% 若矩阵的全部元素都是实数,则无须第4列,通式A[i,j,k,n,非零元素;a,b c,d,非零元素]i,j,k,n分别表示行列实部虚部。
%例子:
A3=[2 2 1;2 1 -1;2 4 3]%第二行第二列非零元素为1,第二行第一列非零元素-1,第二行第四列非零元素3
B3=spconvert(A3)

%带状稀疏矩阵(所有非零元素集中在对角线)[B,d]=spdiags(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置向量d。
% A=spdiags(B,d,m,n)B为非零对角线元素,b为非零对角线的位置,m,n为矩阵的大小即行列数
A4=[11 0 0 12 0 0;0 21 0 0 22 0;0 0 31 0 0 32;41 0 0 42 0 0;0 51 0 0 52 0]%建立一个带状稀疏矩阵
[B4,d4]=spdiags(A4)%将A4所有非零对角线的元素依次赋值给B4矩阵的列,空缺部位填0,d4表示B4中对应列的元素在A4中处于哪条对角线
% %运行结果:A4 =
% 
%     11     0     0    12     0     0
%      0    21     0     0    22     0
%      0     0    31     0     0    32
%     41     0     0    42     0     0
%      0    51     0     0    52     0
% 
% 
% B4 =
% 
%      0    11    12
%      0    21    22
%      0    31    32
%     41    42     0
%     51    52     0
% 
% 
% d4 =
% 
%     -3
%      0
%      3

%单位矩阵的稀疏存储 speye(m,n)返回一个m*n的稀疏存储单位矩阵。
speye(4)%产生一个4阶单位稀疏矩阵,没有限制列数

%稀疏矩阵应用
%求解[2 3 0 0 0;1 4 1 0 0;0 1 6 4 0;0 0 2 6 2;0 0 0 1 0]*[x1 x2 x3 x4 x5]=[0 3 2 1 5]

kf1=[1;1;2;1;0]
k0=[2;4;6;6;1]
k1=[0;3;1;4;2]
B5=[kf1 k0 k1]
d=[-1;0;1]
A5=spdiags(B5,d,5,5)
b5=[0;3;2;1;5]
x=A5\b5




在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值