国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Matlab在線性方程組求解中的應用

2017-02-05 06:21鄧凌峰
湖南科技學院學報 2017年10期
關鍵詞:線性方程組方程組代數

劉 娟 鄧凌峰

?

Matlab在線性方程組求解中的應用

劉娟鄧凌峰

(湖南科技學院 經濟與管理學院,湖南 永州 425199)

線性方程組的求解是線性代數教學的重點難點內容,學生在求解方程組的通解過程很容易在系數矩陣、增廣矩陣初等化簡為行最簡型時出現計算失誤,從而導致對方程組通解的求解錯誤。文章應用Matlab軟件實現齊次非齊次線性方程組的求解,便于學生在求解過程中的檢驗計算結果,以期提高學生理論結合實踐的動手解決問題能力。

線性方程組;解的結構;MATLAB

0 引 言

線性方程組的求解在整個線性代數的教學中非常重要。線性方程組的求解,通常采用初等變換方法求解線性方程組的通解,但是在求解過程中,存在計算難度大,計算容易出錯等問題,導致學生一步錯步步錯,不能很好的求出對應方程組的通解問題。Matlab軟件計算功能強大,可以提高學生對該門課的興趣,文章通過Matlab軟件求解線性方程組的解,以期提高學生的實踐動手能力。

1 Matlab求解齊次線性方程組

齊次線性方程組的矩陣形式為,其中是×階矩陣,是維未知列向量[1]。

(1)維零向量是方程組的解;

在Matlab中,可以調用函數null(A,'r')來求出齊次線性方程組的解。下面給出兩個實例[2]。

解:程序為

A=[1 1 1 1 1;3 2 1 1 -3;0 1 2 2 6;5 4 3 3 -1];

B=null(A,'r')%線性方程組的有理數解

得到:B =

1 1 5

-2 -2 -6

1 0 0

0 1 0

0 0 1

再輸入:

syms k1 k2 k3; %定義符號參數

X=k1*B(:,1)+k2*B(:,2)+k3*B(:,3)

結果為

X =

k1 + k2 + 5*k3

- 2*k1 - 2*k2 - 6*k3

k1

k2

k3

解:程序為

A=[1 1 -1 1;1 2 -1 2;1 -1 1 -1;-3 2 3 1];

B=null(A, 'r')

結果為

B =

Empty matrix: 4-by-0

答:此齊次線性方程組只有零解。

2 Matlab求解非齊次線性方程組

注:克萊姆法則僅適用于未知數個數與方程個數相同的情況。

例題3 求下列非齊次線性方程組的通解(有唯一解的情形)。

解法一:逆矩陣法.程序為

A=[1 0 -1 1 ;3 0 2 1;2 -1 4 8;4 1 6 3];

b=[1 -1 0 0]';

C=[A,b];

rank(A)

rank(C)

D=det(A)

得到:ans =

4

ans =

4

D =

57

x=inv(A)*b

結果為

x =

-3/19

42/19

-32/57

34/57

解法二:克萊姆法則.程序為

A=[1 0 -1 1 ;3 0 2 1;2 -1 4 8;4 1 6 3];

b=[1 -1 0 0]';

D= det(A)

得到:D =

57

a1=[1 3 2 4]';

a2=[0 0 -1 1]';

a3=[-1 2 4 6]';

a4=[1 1 8 3]';

x1=det([b a2 a3 a4])/D;

x2=det([a1 b a3 a4])/D;

x3=det([a1 a2 b a4])/D;

x4=det([a1 a2 a3 b])/D;

X=[x1;x2;x3;x4]

結果為

x =

-0.1579

2.2105

-0.5614

0.5965

解法三:程序為

A=[1 0 -1 1 ;3 0 2 1;2 -1 4 8;4 1 6 3];

b=[1 -1 0 0]';

X=linsolve(A,b)

結果為

X =

-0.1579

2.2105

-0.5614

0.5965

解法一:程序為

A=[1 2 3 1;3 7 7 2;1 4 5 2];

b=[3;12;6];

C=[A b];

n=4;

[rank(A),rank(C)]

得到ans =

3 3

注:先判斷解的情況,rank(A)=rank(C)=3<4,方程有無窮多解.

B=null(A,'r')

x0=pinv(A)*b %或用x0=A

結果為

B =

0.5000

0

-0.5000

1.0000

x0 =

0.3333

2.0000

-0.3333

-0.3333

解法二:在Matlab中建立一個M文件:ex1如下

A=[1 2 3 1;3 7 7 2;1 4 5 2];

b=[3;12;6];

B=[A b];

n=4;

r1=rank(A);

r2=rank(B);

if(r1==r2&r1==n) %n為未知數個數,判斷是否有唯一解

X=A;

else if (r1==r2&r1

C=null(A, 'r') %求AX=0的基礎解系

x0=pinv(A)*b %求特解

else fprintf('方程組無解') %判斷是否無解

end

end

輸入命令:ex1

結果為

C =

0.5000

0

-0.5000

1.0000

x0 =

0.3333

2.0000

-0.3333

-0.3333

答:非齊次線性方程組的通解為:

,其中為任意常數。

例題5求非齊次線性方程組

解:程序為:

A=[1 1 1 1;0 1 -1 2;2 3 1 4;3 5 1 7];

b=[1 1 4 5]';

C=[A b]

[rank(A),rank(C)]

結果為:

ans =

2 3

矩陣A與矩陣C的秩不相等,故次方程組無解。

線性代數課程開設的目的是讓學生掌握行列式、矩陣的相關計算,線性方程組的通解的求解。但學生對理論理解不透徹,計算過程存在計算量大,人工手算容易出錯的問題,為了提高學生對該門課的學習興趣,根據Matlab軟件的很多優(yōu)良的性質,具備計算功能強大,應用Matlab軟件在教學方式上進行改革,提高同學們對線性代數這門課的理解,提升學生運算效率和動手能力。

[1]北京大學數學系幾何與代數教研室前代數小組編.高等代數[M].北京:高等教育出版社,2003.

[2]劉衛(wèi)國.MATLAB程序設計教程[M].北京:中國水利水電出版社,2010.

(責任編校:何俊華)

2017-06-20

劉娟(1987-),女,湖南衡陽人,碩士,講師,研究方向為時間序列。

F224

A

1673-2219(2017)10-0018-03

猜你喜歡
線性方程組方程組代數
一類整系數齊次線性方程組的整數解存在性問題
深入學習“二元一次方程組”
兩個有趣的無窮長代數不等式鏈
求解非線性方程組的Newton迭代與Newton-Kazcmarz迭代的吸引域
Hopf代數的二重Ore擴張
H-矩陣線性方程組的一類預條件并行多分裂SOR迭代法
《二元一次方程組》鞏固練習
什么是代數幾何
一類次臨界Bose-Einstein凝聚型方程組的漸近收斂行為和相位分離
“挖”出來的二元一次方程組