MATLAB求线性代数的参数范围,MATLAB科学计算04(线性代数问题求解一)

文章目录

特殊矩阵

矩阵的基本概念

求解线性方程组

直接求解

判定求解

特殊矩阵

零矩阵、1矩阵及单位矩阵

生成nxn方阵:

A=zeros(n), B=ones(n), C=eye(n)

生成mxn矩阵:

A=zeros(m,n), B=ones(m,n), C=eye(m,n)

生成和矩阵B同样位数的矩阵:

A=zeros(size(B))**

生成nxm阶标准均匀分布伪随机数矩阵(0-1):

A=rand(n,m)

生成nxn阶标准均匀分布伪随机数方阵:

A=rand(n)

对角元素矩阵

3675c28be8019b03db2d1e68f580acfd.png

已知向量生成对角矩阵:

A=diag(V)

已知矩阵提取对角元素列向量:

V=diag(A)

生成主对角线上第k条对角线为V的矩阵:

A=diag(V,k)

17d7486def93cb7c3401a3d445fd6b82.png

生成n阶的Hilbert矩阵:

A=hilb(n)

求取逆Hilbert矩阵:

B=invhilb(n)

Hankel(汉克 ) 矩阵

其中:第一列的各个元素定义为C向量,最后一行各个元素定义为R。H为对称阵。

H1=hankel(C,R)

Vandermonde(范德蒙)矩阵

V = vander(C)

伴随矩阵

B = compan(P)

95655bca696de623b96a71519269841a.png

P(s)为首项系数为1的多项式

dab36b13cf6e71d37de4b53d2e810cde.png

符号矩阵的输入,数值矩阵A转换成符号矩阵:

B=sym(A)

A =

1.0000 0.5000 0.3333

0.5000 0.3333 0.2500

0.3333 0.2500 0.2000

B=sym(A)

B =

[ 1, 1/2, 1/3]

[ 1/2, 1/3, 1/4]

[ 1/3, 1/4, 1/5]

矩阵的基本概念

求行列式

d=det(A)

矩阵的迹

t=trace(A)

矩阵的秩

r=rank(A) %用默认的精度求数值秩

r=rank(A,a ) %给定精度下求数值秩

如果 矩阵的秩为r,小于矩阵的阶次n,故为**非满秩矩阵**

矩阵范数

(p = 2, 2范数,向量的范数,各分量平方和开根号)11efa6bde51f659cec3fb7249d5eb931.png

50674b703762ad249588cb2e150f899a.png

009fb7fabefb8c585b3706da00cbd3e5.png

eeddc11697b544534db879b5209c390a.png

N=norm(A) %求解默认的2范数

N=norm(A,选项) %选项可为1,2,inf等

特征多项式

C=poly(A)

例:>> A=[16 2 3 13; 5 11 10 8; 9 7 6 12; 4 14 15 1];

poly(A) %直接求取

ans =

1.0e+03 *

0.0010 -0.0340 -0.0800 2.7200 0.0000

A=sym(A); charpoly(A) %运用符号工具箱

ans =

[ 1, -34, -80, 2720, 0]

矩阵的逆矩阵

C=inv(A)

hilb的逆矩阵

33dbbc1c2eabe0a000d53d6d466effd8.png

计算误差范数:

norm(H*inv(H)-eye(size(H))

对接近于奇异矩阵,高阶一般不建议用inv( ),可用符号工具箱

奇异矩阵不存在一个相应的逆矩阵,用符号工具箱的函数也不行

奇异矩阵与非奇异矩阵

矩阵的相似变换与正交矩阵

5814b9cc41e215b893c229801ed88984.png

其中:A为一方阵,B矩阵非奇异。

相似变换后,X矩阵的秩、迹、行列式与特征值等均不发生变化,其值与A矩阵完全一致。

对于一类特殊的相似变换满足如下条件,称为正交矩阵。

564dc2ae50fce4c0ba75ad669d7d8aa3.png

正交基矩阵

Q = orth(A)

特征值

eig(A)

求解线性方程组

直接求解

A*X = B

左除:X= A\ B

% 反斜杠\反斜杠计算方法速度更快,

而且残差减少了几个数量级。err_inv 和 err_bs 均为 1e-6 的阶数。

X*A = B

右除:X= B/ A

判定求解

9c2ec0021d3143036bb26604693d6aeb.png

10ce4e7dd3c330e1b48dfa9818cf6eba.png

判定矩阵为C;089862b8f27961c188371cc0bda81755.png

判定定理:

当m = n, rank (A)= rank ( C ) = n ,有唯一解。X = inv(A)*B

当rank (A)= rank ( C ) =r < n ,有无穷多解。

求取A矩阵的化零矩阵:

Z=null(A)

特解

x0=pinv(A)*B % 得出一个特解

通解:

syms a1 a2;

x=a1*Z(:,1)+a2*Z(:,2)+x0 %这里是r = 2, a1, a2 是随机数(数值解),或者符号(解析解)

3.当rank (A)<= rank ( C ) ,只能用摩尔-彭罗斯广义逆求解出的方程最小二乘解不满足原始代数方程。

x = pinv(A)*B

后面会更新更高级的解法!

子曰:温故而知新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值