matlab QR分解用什麼演算法實現的

2021-05-22 00:15:48 字數 4723 閱讀 7007

1樓:匿名使用者

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

2樓:安徽新華電腦專修學院

qr分解法是目前求一般矩陣全部特徵值的最有效並廣泛應用的方法,一般矩陣先經過正交相似變化成為hessenberg矩陣,然後再應用qr方法求特徵值和特徵向量。它是將矩陣分解成一個正規正交矩陣q與上三角形矩陣r,所以稱為qr分解法,與此正規正交矩陣的通用符號q有關。

matlab的qr分解函式qr()

3樓:匿名使用者

完全可以,是一

樣的呼叫qr。

>> a=rand(5)

a =0.5828 0.2259 0.2091 0.5678 0.4154

0.4235 0.5798 0.3798 0.7942 0.3050

0.5155 0.7604 0.7833 0.0592 0.8744

0.3340 0.5298 0.6808 0.6029 0.0150

0.4329 0.6405 0.4611 0.0503 0.7680

>> [q,r]=qr(a)

q =-0.5598 0.8235 -0.0747 0.0193 0.0492

-0.4068 -0.1939 0.5250 -0.6391 -0.3359

-0.4952 -0.3400 -0.2889 0.4805 -0.5699

-0.3208 -0.2913 -0.6630 -0.4618 0.3993

-0.4159 -0.2894 0.4425 0.3833 0.6329

r =-1.0410 -1.1752 -1.0696 -0.8846 -1.1138

0 -0.5246 -0.4996 0.1034 -0.2410

0 0 -0.2899 -0.0200 0.2063

0 0 0 -0.7274 0.5207

0 0 0 0 -0.0882

matlab怎麼用qr分解求解rq分解

4樓:匿名使用者

假設要對a進行rq分解

則首先對a的逆進行qr分解

[q r] = qr(inv(a))

即inv(a) = q*r,兩邊同時取逆,有a = inv(r)*inv(q),這樣就完成了a的rq分解

matlab程式設計 三維矩陣怎麼進行qr分解

matlab用qr方法怎麼求特徵值,把程式寫出來,謝謝

5樓:匿名使用者

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

0.6167

6樓:匿名使用者

看matlab幫助檔案,裡邊都有例程,電腦沒有安裝matlab,懶得安裝了,但是我知道幫助檔案裡有這個例子

7樓:言清韻柯北

前面的函式是求特徵值的函式,後面的是呼叫的例子和驗證functionl=

rqrtz(a,m)

%qr演算法求矩陣全部特徵值

%已知矩陣:a

%迭代步數:m

%求得的矩陣特徵值:la=

hess(a);

fori=1:mn=

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);

enda=[050

000;1040

00;010

300;0010

20;000

101;0000

10]a=

0500

0010

4000

0103

0000

1020

0001

0100

0010

>>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

0.6167

matlab中的qr分解都能分解什麼樣的矩陣?? 5

8樓:匿名使用者

% 正交分解(qr) 對於矩陣a(n×n),如果a非奇異,則存在正交矩陣q和上三角矩陣r,使得a滿足關係式 a=q*r,並且當r的對交元都為正時,qr分解是唯一的。

matlab qr分解函式: 對於以下qr分解指令,返回的矩陣e表示什麼含義?請大神指教

9樓:匿名使用者

e稱為置換矩陣,滿足 a*e = q*r

用matlab中的qr分解含字母的矩陣

10樓:匿名使用者

lu分解牽涉到選主元,符號本身不帶大小,所以lu就不行了,除非你自己知道某些未知量的性質然後自己寫一個。

qr分解的計算當中倒是沒有比較,不過我估計直接調qr還是不行的,如果不能直接用的話就自己寫一段**,反正塊運算對符號也沒用。

我不知道你為什麼有這些需求,我估計你本身的問題可能有別的辦法來解決,符號計算大多數時候是沒用的。

用qr分解法求解線性方程組的matlab程式 30

11樓:匿名使用者

matlab做qr分解只是一條語句而已

[q,r]=qr(a)

那麼線性方程組ax=b的解

x=r\(q\b)

什麼是訊號稀疏性訊號稀疏分解有哪些演算法?原理如何

訊號的稀疏性 訊號可以用少數個特徵向量的線性組合來表示。大部分觀點均認為,所有的訊號都是稀疏的,簡單的舉例就是無線通訊,通訊的頻帶總是有限的 甚至頻寬相對較大的超寬頻通訊也是如此 那麼,什麼是影象訊號的稀疏性呢?1 形式上的稀疏性 數字影象的儲存形式就是2維矩陣 灰度影象1個二維矩陣,彩色影象多個二...

什麼是雜湊演算法,什麼是雜湊演算法?具體怎麼用啊???有什麼用啊?

雜湊函式是一個數學方程式,它可用文字 如電子郵件資訊 來生成稱為資訊摘要的 著名的雜湊函式如 md4,md5,shs。用於數字鑑別的雜湊函式必須有特定的屬性,使它在密碼使用方面有足夠的安全性。尤其是,下面的內容一定不能被發現 用來雜湊出特定值的文字。也就是說,如果你知道資訊摘要,你應該不能解出資訊的...

3(4 5 8 15)用簡便演算法

1 6 2 3 4 5 8 15 1 9 4 15 5 12 1 6 x 2 3 4 5 8 15 1 9 4 15 1 9 x 15 4 5 12 1 2 3 4 5 1 6 5 8 4 2 5 4 15 簡便計算 這是有關分數除法的問題,除以一個數等於乘以這個數的倒數,熟悉了這一規則,知道如何求...