1樓:匿名使用者
要分解的矩陣為b,
令a = b'
對a進行qr分解
a = qr
則b = a' = r'q'
易知,r'為下三角陣,q'為正交矩陣,上式就得到了b的rq分解了。
怎麼採用matlab進行矩陣rq分解(r為下三角
2樓:梅棄迎新
要分解的矩陣為b, 令a = b' 對a進行qr分解 a = qr 則b = a' = r'q' 易知,r'為下三角陣,q'為正交矩陣,上式就得到了b的rq分解了。
matlab怎麼用qr分解求解rq分解
3樓:匿名使用者
假設要對a進行rq分解
則首先對a的逆進行qr分解
[q r] = qr(inv(a))
即inv(a) = q*r,兩邊同時取逆,有a = inv(r)*inv(q),這樣就完成了a的rq分解
對矩陣x進行qr分解和lu分解,qr分解和lu分解是什麼意思呢
4樓:匿名使用者
為了求解線性方程組,我們通常需要一定的解法。其中一種解法就是通過矩陣的三角分解來實現的,屬於求解線性方程組的直接法。在不考慮舍入誤差下,直接法可以用有限的運算得到精確解,因此主要適用於求解中小型稠密的線性方程組。
(1) 三角分解法
三角分解法是將原正方 (square) 矩陣分解成一個上三角形矩陣 或是排列(permuted) 的上三角形矩陣和一個 下三角形矩陣,這樣的分解法又稱為lu分解法。它的用途主要在簡化一個大矩陣的行列式值的計算過程,求 反矩陣,和求解聯立方程組。不過要注意這種分解法所得到的上下三角形矩陣並非唯一,還可找到數個不同 的一對上下三角形矩陣,此兩三角形矩陣相乘也會得到原矩陣。
matlab以lu函式來執行lu分解法, 其語法為[l,u]=lu(a)。
l是下三角矩陣:lower。u是上三角矩陣:upper
(2) qr分解法
qr分解法是將矩陣分解成一個正規正交矩陣與上三角形矩陣,所以稱為qr分解法,與此正規正交矩陣的通用符號q有關。
matlab以qr函式來執行qr分解法, 其語法為[q,r]=qr(a)。
q是正交矩陣,r是n*n的上三角矩陣。
5樓:匿名使用者
lu分解是矩陣的三角分解,產生一個上三角矩陣和一個下三角矩陣。
qr分解是矩陣的正交分解。
6樓:匿名使用者
我猜的看看對不對
qr=queue resolve=列分解
lu=line u(不知道)=行分解
matlab中的qr分解都能分解什麼樣的矩陣?? 5
7樓:匿名使用者
% 正交分解(qr) 對於矩陣a(n×n),如果a非奇異,則存在正交矩陣q和上三角矩陣r,使得a滿足關係式 a=q*r,並且當r的對交元都為正時,qr分解是唯一的。
關於矩陣的qr分解,我不明白下圖中的r是怎麼來的
8樓:匿名使用者
a=qr,
r=q^a=q^t a.(因為q是正交矩陣)
r11=q11*a11+q21*a12=a1^t q1, 以此類推
matlab qr分解用什麼演算法實現的
9樓:匿名使用者
function l = rqrtz(a,m)%qr演算法求矩陣全部特徵值
%已知矩陣:a
%迭代步數:m
%求得的矩陣特徵值:l
a = hess(a);
for i=1:m
n = size(a);
n = n(1,1);
u = a(n,n);
[q,r]=qr(a-u*eye(n,n));
a = r*q+u*eye(n,n);
l = diag(a);
end------------------------------------
a=[0 5 0 0 0 0;1 0 4 0 0 0;0 1 0 3 0 0;0 0 1 0 2 0;0 0 0 1 0 1;0 0 0 0 1 0]
a =0 5 0 0 0 01 0 4 0 0 00 1 0 3 0 00 0 1 0 2 00 0 0 1 0 10 0 0 0 1 0>> rqrtz(a,50)
ans =
-3.2030
3.2030
-1.8837
1.8837
-0.6167
0.6167
>> eig(a)
ans =
-3.3243
3.3243
-1.8892
-0.6167
1.8892
10樓:安徽新華電腦專修學院
qr分解法是目前求一般矩陣全部特徵值的最有效並廣泛應用的方法,一般矩陣先經過正交相似變化成為hessenberg矩陣,然後再應用qr方法求特徵值和特徵向量。它是將矩陣分解成一個正規正交矩陣q與上三角形矩陣r,所以稱為qr分解法,與此正規正交矩陣的通用符號q有關。
matlab裡矩陣的正交分解怎麼表示 5
11樓:
矩陣分解 (de***position, factorization)是多半將矩陣拆解為數個三角形矩陣(triangular matrix)。
依使用目的的不同 ,可分為三種矩陣分解法:1)三角分解法 (triangular factorization),2)qr 分解法 (qr factorization),3)奇異值分 解法 (singular value de***postion)。
(1) 三角分解法
三角分解法是將原正方 (square) 矩陣分解成一個上三角形矩陣 或是排列(permuted) 的上三角形矩陣 和一個 下三角形矩陣,這樣的分解法又稱為lu分解法。它的用途主要在簡化一個大矩陣的行列式值的計算過程,求 反矩陣,和求解聯立方程組。不過要注意這種分解法所得到的上下三角形矩陣並非唯一,還可找到數個不同 的一對上下三角形矩陣,此兩三角形矩陣相乘也會得到原矩陣。
我們舉以下二個矩陣為例:
利用三角分解法可將a和b二矩陣分別拆解為上下三角形矩陣
注意b分解的矩陣得到的第一個矩陣[lb]是排列的下三角形矩陣,如果第
二、三列互換,則此變成完全的下 三角形矩陣。
以matlab函式計算上述的lu分解法,其語法為[l,u]=lu(a),其中l代表下三角形矩陣u代表上三角形矩陣。 我們來看一個例子。
>> a = [1 2 -1, -2 -5 3; -1 -3 0]; b=[1 3 2; -2 -6 1; 2 5 7];
>> [l1,u1] = lu(a); [l2,u2] = lu(b);
>> l1; u1
l1 = % 注意這個矩陣l1和之前的[la]不相同
-0.5 1 0
1 0 0
0.5 1 1
u1 = % 注意這個矩陣u1和之前的[ua]不相同
-2 -5 3
0 -0.5 0.5
0 0 -2
>> l2; u2
l2 = % 注意這個矩陣l2和之前的[lb]不相同
-0.5 0 1
1 0 0
-1 1 0
u2 = % 注意這個矩陣u2和之前的[ub]不相同
-2 -6 1
0 -1 8
0 0 2.5
(2) qr分解法
qr分解法是將矩陣分解成一個正規正交矩陣與上三角形矩陣。正規正交矩陣q滿足條件,所以稱為qr分解法與此正規正交矩陣的通用符號q有關。
matlab以qr函式來執行qr分解法, 其語法為[q,r]=qr(a),其中q代表正規正交矩陣,而r代表上三角形矩 陣。此外,原矩陣a不必為正方矩陣;如果矩陣a大小為,則矩陣q大小為,矩陣r大小為。
(3) 奇異值分解法
奇異值分解 (sigular value de***position,svd) 是另一種正交矩陣分解法;svd是最可靠的分解法,但是它比qr 分解法要花上近十倍的計算時間。[u,s,v]=svd(a),其中u和v代表二個相互正交矩陣,而s代表一對角矩陣。 和qr分解法相同者, 原矩陣a不必為正方矩陣。
使用svd分解法的用途是解最小平方誤差法和資料壓縮。
12樓:祕籍攻略
正交分解(qr分解)
[q r]=qr(a)
[q r p]=qr(a)
①輸入引數矩陣a不必是方陣
②輸出參量用[q r]格式中,q為正交方陣,階數等於a的行數和列數中較小者,滿足
q』*q= i ,r為與a同維的上三角陣,滿足q*r=a③輸出參量用[q r p]格式時,q為正交方陣,r為對角線元素絕對值遞減的上三角陣,p為換位陣,滿足a*p=q*r
正交方陣:滿足a*a'=i的方陣a。
如何使用matlab命令進行lu分解
13樓:用著追她
1、雙擊matlab軟體圖示來,開啟matlab軟體,可以自看到matlab軟體的介面。
2、使用函式pascal(5)建立5x5的矩陣a。
3、使用函式chol(a)對矩陣a進行cholesky分解。
4、使用函式表示式[b,c]=lu(a)對矩陣進行lu分解,也成為高斯消去法。其中b是下三角矩陣,c是上三角矩陣。
5、使用函式magic(4)建立一個4x4的矩陣a。使用函式表示式[q,r]=qr(a),對矩陣a進行qr分解,其中q是正交矩陣。
14樓:匿名使用者
matlab自帶函式lu就可以了~
用法:[l,u] = lu(a);
得到的結果就滿足 a=l*u.
15樓:匿名使用者
matlab有多種
bailu分解程式下面算一du種:
function [l,u]=mylu(a)%實現zhi對矩陣a的lu分解,daol為下三角矩陣a [n,n]=size(a);
l=zeros(n,n);
u=zeros(n,n);
for i=1:n
l(i,i)=1;
endfor k=1:n
for j=k:n
u(k,j)=a(k,j)-sum(l(k,1:k-1).*u(1:k-1,j)');
endfor i=k+1:n
l(i,k)=(a(i,k)-sum(l(i,1:k-1).*u(1:k-1,k)'))/u(k,k);
endend
用法回,在控答制臺輸入
a=[1 2 3 -4;-3 -4 -12 13;2 10 0 -3;4 14 9 -13];
怎麼用matlab生成迴圈矩陣,matlab,怎樣將每次迴圈中生成的值存在一個矩陣裡?要簡單的方法。。。。。。
lihaiyonglhy yahoo.com.cn n點迴圈卷積 x1 x1 zeros 1,n length x1 x2 x2 zeros 1,n length x2 m 0 n 1 t 0 n 1 x2 x2 mod m,n 1 反折h zeros n,n for n 1 n m mod m n...
matlab矩陣快速運算是怎麼實現的
任何一個矩陣進行上述操作後得到的都是 0,0,0 你直接生成n個0就行了,沒必要這樣折騰。怎麼用matlab實現兩個矩陣之間的運算 a 1 2 3 4 5 6 7 7 8 b 1 2 2 2 3 4 a prod a,2 b prod b,2 ma,n size a mb,n size b r ze...
matlab怎麼對曲線進行平滑啊
matlab中繪製平滑曲線一般使用最小二乘法或者b樣條插值。最小二乘法實際上是函式擬合,可以得到目標函式 這裡為多項式 的係數,對outliers相對不敏感,缺點是需要預先設定目標函式的階數,且有時不容易找到最優的目標函式形式。這裡使用polyfit 函式進行多項式擬合,其他類似函式,如 lsqli...