線性代數 matlab實驗報告

2022-05-11 04:04:17 字數 4150 閱讀 1436

數學實驗報告

學號: 000 , 姓名: 000 , 得分

實驗內容: 用matlab求解如下線性方程組ax = b, 其中

a =, b = [1,4,6,0,7,1,2,4] t.

實驗目的:

1. 了解matlab軟體, 學會matlab軟體的一些基本操作;

2. 熟悉matlab軟體的一些數值計算功能;

3. 練習編寫簡單的matlab程式。

實驗原理:

1. 對於滿足條件係數矩陣的行列式d=︱a︱≠0的方程組ax = b,根據克拉默(gramer)法則,此線性方程組有唯一解:,j=1,2,…,n。

2. 當線性方程組的係數矩陣a是可逆矩陣時, 方程組ax = b的解為x = a\b。

3. 當係數矩陣a可逆時, 對增廣矩陣[a, b]進行初等行變換, 把它化為行最簡形矩陣b, 則b的最後一列就是該方程組的解向量。

實驗方案: 1. 在matlab命令視窗中輸入如下命令:

>> a_1=[5;1;0;0;0;0;0;0];a_2=[6;5;1;0;0;0;0;0];

>> a_3=[0;6;5;1;0;0;0;0];a_4=[0;0;6;5;1;0;0;0];

>> a_5=[0;0;0;6;5;1;0;0];a_6=[0;0;0;0;6;5;1;0];

>> a_7=[0;0;0;0;0;6;5;1];a_8=[0;0;0;0;0;0;6;5]; %輸入矩陣a

>> b=[1;4;6;0;7;1;2;4];

>> d=det([a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8]);

>> d_1=det([b,a_2,a_3,a_4,a_5,a_6,a_7,a_8]);

>> d_2=det([a_1,b,a_3,a_4,a_5,a_6,a_7,a_8]);

>> d_3=det([a_1,a_2,b,a_4,a_5,a_6,a_7,a_8]);

>> d_4=det([a_1,a_2,a_3,b,a_5,a_6,a_7,a_8]);

>> d_5=det([a_1,a_2,a_3,a_4,b,a_6,a_7,a_8]);

>> d_6=det([a_1,a_2,a_3,a_4,a_5,b,a_7,a_8]);

>> d_7=det([a_1,a_2,a_3,a_4,a_5,a_6,b,a_8]);

>> d_8=det([a_1,a_2,a_3,a_4,a_5,a_6,a_7,b]);

>> x_1=d_1/d;x_2=d_2/d;x_3=d_3/d;x_4=d_4/d;

>> x_5=d_5/d;x_6=d_6/d;x_7=d_7/d;x_8=d_8/d;

>> format rat,x=[x_1,x_2,x_3,x_4,x_5,x_6,x_7,x_8]

%利用克拉默法則求解方程組

2. 在matlab命令視窗中輸入如下命令:

>> %把該方程組記為ax=b,則x=a\b

>> a=[5,6,0,0,0,0,0,0;

1,5,6,0,0,0,0,0;

0,1,5,6,0,0,0,0;

0,0,1,5,6,0,0,0;

0,0,0,1,5,6,0,0;

0,0,0,0,1,5,6,0;

0,0,0,0,0,1,5,6;

0,0,0,0,0,0,1,5]; %輸入矩陣a

>> b=[1;4;6;0;7;1;2;4]; %輸入矩陣b

>>format rat,x=a\b%求解方程組

3. 在matlab命令視窗中輸入如下命令:

>> a=[5,6,0,0,0,0,0,0;1,5,6,0,0,0,0,0;0,1,5,6,0,0,0,0;0,0,1,5,6,0,0,0;

0,0,0,1,5,6,0,0;0,0,0,0,1,5,6,0;0,0,0,0,0,1,5,6;0,0,0,0,0,0,1,5];

%輸入矩陣a

>> b=[1;4;6;0;7;1;2;4]; %輸入矩陣b

>> b=[a,b]; %b為增廣矩陣[a,b]

>> format rat

>> c=rref(b); %用初等行變換把b化為行最簡形

>> x=c(:,9) %利用高斯消元法求解方程組

實驗結果:

1.方法一的計算結果為:

x =columns 1 through 6

-3419/592 727/146 -2543/1009 697/307 -131/89 2033/1009

columns 7 through 8

-835/659 1913/1816

2方法二的計算結果為:.

x = -3419/592

727/146

-2543/1009

697/307

-131/89

2033/1009

-835/659

1913/1816

3.方法三的計算結果為:

x = -797/138

727/146

-310/123

697/307

-131/89

542/269

-204/161

138/131

對實驗結果的分析:

上述3種方案所得的結果不完全一致, 這是因為不同的計算方法在計算機中有不同的精度,導致計算資料結果的不同。

實驗內容: 用matlab研究下面的3個平面

1: x + y + z = 1

2: x + y = 2

3: 2x + t2z = t

當t取何值時交於一點? 當t取何值時交於一直線? 當t取何值時沒有公共的交點?

並在每一種情形下, 用matlab在同乙個座標系內繪製出這3個平面的圖形(其中, 沒有公共的交點的情況, 只要給t取乙個適當的值即可).

實驗目的: 1. 練習編寫簡單的matlab程式.

2. 掌握用matlab軟體繪製簡單圖形的方法.

實驗原理: 聯立這3個平面的方程, 得方程組, 令a =, b =, b = [a, b], 則原問題轉化為線性方程組ax=b的求解,其中.當t1且t-1時有唯一解(取t=0); 當t=1時,原方程組無解;當t=-1時,有無窮多解。

根據非齊次線性方程組的解的理論, 當r(a)=r(a,b)=3時有唯一解;當r(a)實驗方案:

1. 當t1且t-1時(取t=0),在matlab命令視窗中輸入如下命令:

>> y=-20:1:20;z=y;

>> [y,z]=meshgrid(y,z);

>>x1=1*ones(size(y))-y-z; %平面p1

>>x2=y-2*ones(size(y)); %平面p2

>>x3=zeros(size(y)); %平面p3

surf(x1,y,z),hold on, mesh(x2,y,z),mesh(x3,y,z)

2. 當t=1時, 在matlab命令視窗中輸入如下命令:

>>y=-20:1:20;z=y;

>> [y,z]=meshgrid(y,z);

>>x1=1*ones(size(y))-y-z; %平面p1

>>x2=y-2*ones(size(y)); %平面p2

>>x3=1/2*ones (size(y))- 1/2*z; %平面p3

>>surf(x1,y,z),hold on, mesh(x2,y,z),mesh(x3,y,z)

3. 當t=-1時,在matlab命令視窗中輸入如下命令:

>>y=-20:1:20;z=y;

>> [y,z]=meshgrid(y,z);

>>x1=1*ones(size(y))-y-z; %平面p1

>>x2=y-2*ones(size(y)); %平面p2

>>x3=-1/2*ones (size(y))- 1/2*z; %平面p3

>>surf(x1,y,z),hold on, mesh(x2,y,z),mesh(x3,y,z)

實驗結果:

1當t1且t-1時(取t=0),輸出影象為:

2當t=1時,輸出影象為:

3當t=-1時,輸出影象為:

對實驗結果的分析:

根據對原方程組的求解與製圖程式設計可發現,當t1且t-1時(取t=0) ;t= -1時; t = 1時,影象會發生不同的變化,我們可以利用影象來找到方程組的解。

線性代數實驗報告

學號 姓名得分 實驗內容 用matlab求解如下線性方程組ax b,其中 a b 21109110 t.實驗目的 1.了解matlab軟體,學會matlab軟體的基本操作 2.熟悉matlab軟體的數值計算功能 3.練習編寫簡單的matlab 程式 4.掌握matlab解線性方程組的原理,學會使用。...

線性代數實驗報告

2013年12月24日 數學實驗報告題目 一 實驗目的 1 熟悉matlab的矩陣初等運算 2 掌握求矩陣的秩 逆 化最簡階梯形的命令 3 會用mablab求解線性方程組 二 實驗問題 1 已知,在matlab命令視窗中建立a b矩陣並對其進行以下操作 1 計算矩陣a的行列式的值 2 分別計算下列各...

線性代數實驗課講稿

時間 2008 2009年第一學期 理學院資訊與計算科學系 實驗一主要內容 matlab簡介 矩陣的生成與呼叫方法 矩陣的基本運算及m 檔案的編寫。1 matlab簡介 1 matlab matlab概述 matlab是美國math works公司於1984年推出的 名為 matrix labora...