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同樣位數(shù)的矩陣:
A=zeros(size(B))**
生成nxm階標準均勻分布偽隨機數(shù)矩陣(0-1):
A=rand(n,m)
生成nxn階標準均勻分布偽隨機數(shù)方陣:
A=rand(n)
對角元素矩陣
已知向量生成對角矩陣:
A=diag(V)
已知矩陣提取對角元素列向量:
V=diag(A)
生成主對角線上第k條對角線為V的矩陣:
A=diag(V,k)
生成n階的Hilbert矩陣:
A=hilb(n)
求取逆Hilbert矩陣:
B=invhilb(n)
Hankel(漢克 ) 矩陣
其中:第一列的各個元素定義為C向量,最后一行各個元素定義為R。H為對稱陣。
H1=hankel(C,R)
Vandermonde(范德蒙)矩陣
V = vander(C)
伴隨矩陣
B = compan(P)
P(s)為首項系數(shù)為1的多項式
符號矩陣的輸入,數(shù)值矩陣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) %用默認的精度求數(shù)值秩
r=rank(A,a ) %給定精度下求數(shù)值秩
如果 矩陣的秩為r,小于矩陣的階次n,故為**非滿秩矩陣**
矩陣范數(shù)
(p = 2, 2范數(shù),向量的范數(shù),各分量平方和開根號)
N=norm(A) %求解默認的2范數(shù)
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的逆矩陣
計算誤差范數(shù):
norm(H*inv(H)-eye(size(H))
對接近于奇異矩陣,高階一般不建議用inv( ),可用符號工具箱
奇異矩陣不存在一個相應的逆矩陣,用符號工具箱的函數(shù)也不行
奇異矩陣與非奇異矩陣
矩陣的相似變換與正交矩陣
其中:A為一方陣,B矩陣非奇異。
相似變換后,X矩陣的秩、跡、行列式與特征值等均不發(fā)生變化,其值與A矩陣完全一致。
對于一類特殊的相似變換滿足如下條件,稱為正交矩陣。
正交基矩陣
Q = orth(A)
特征值
eig(A)
求解線性方程組
直接求解
A*X = B
左除:X= A\ B
% 反斜杠\反斜杠計算方法速度更快,
而且殘差減少了幾個數(shù)量級。err_inv 和 err_bs 均為 1e-6 的階數(shù)。
X*A = B
右除:X= B/ A
判定求解
判定矩陣為C;
判定定理:
當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 是隨機數(shù)(數(shù)值解),或者符號(解析解)
3.當rank (A)<= rank ( C ) ,只能用摩爾-彭羅斯廣義逆求解出的方程最小二乘解不滿足原始代數(shù)方程。
x = pinv(A)*B
后面會更新更高級的解法!
子曰:溫故而知新
總結
以上是生活随笔為你收集整理的MATLAB求线性代数的参数范围,MATLAB科学计算04(线性代数问题求解一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 360浏览器登录_浏览器发展历史介绍及当
- 下一篇: mySQL字符串字段区别_MySQL类型