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

2021-03-03 21:37:20 字數 4452 閱讀 7835

1樓:匿名使用者

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

[q,r]=qr(a)

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

x=r\(q\b)

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

2樓:匿名使用者

假設要對a進行rq分解

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

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

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

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方法怎麼求特徵值,把程式寫出來,謝謝

4樓:匿名使用者

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

5樓:匿名使用者

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

6樓:言清韻柯北

前面的函式是求特徵值的函式,後面的是呼叫的例子和驗證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分解用什麼演算法實現的

7樓:匿名使用者

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

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

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

利用至少三種不同的matlab實現方法求解線性方程組 6x+2y-3z=4,45x+5y+4z=23 ,3x+4y-2z=12 跪求程式!!

9樓:匿名使用者

clear;clc

a=[6 2 -3;45 5 4;3 4 -2];

b=[4 23 12]';

%方法一

x1=a\b

%方法二lu分解,優點:運算速度快

[l,u]=lu(a);

x2=u\(l\b)

%方法三qr分解

[q,r]=qr(a);

x3=r\(q\b)

線性方程組有哪些解法,線性代數有幾種解線性方程組的方法?

第一種 消元法 此法 最為簡單,直接消掉只剩最後乙個未知數,再回代求餘下的未知數,但只適用於未知數個數等於方程的個數,且有解的情況.第二種 克拉姆法則,如果行列式不等於零,則用常數向量替換係數行列式中的每一行再除以係數行列式,就是解 第三種 逆矩陣法,同樣要求係數矩陣可逆,直接建立ax b與線性方程...

用克萊姆法則解下列線性方程組

若真的用crammer法則解這個方程組就太麻煩了要求5個4階行列式.crammer法則一般用在理論證明中,極少用來解線性方程組.以下是軟體計算結果d 4 3151 2 2 33 1202 32 8 135d1 7 3 153 2 2 3 1 120 732 8 270 d2 471 513 2 33...

線性代數非齊次線性方程組的問題

這題目。首先線bai性方程 du組zhi的解是對應齊次方程組的 通解dao加上線性方程組的版特解。題目中給出了乙個特解a1 求權通解,從解的形式可以看出這個方程組是四階的,而它的係數矩陣的雉是3,所以齊次方程的通解只有乙個向量,2 a1 a2 a3 就是通解。所以,橫線上應該填a1 c 2 a1 a...