數學實驗報告
學號: 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...