当前位置:文档之家› 东南大学几何与代数matlab实验报告

东南大学几何与代数matlab实验报告

数学实验报告
学号: , 姓名: 吴雪松, 得分:
实验1 求解线性方程组
实验内容: 用MATLAB求解如下线性方程组Ax = b, 其中
A =
56000000
15600000
01560000
00156000
00015600
00001560
00000156
00000015
⎡⎤
⎢⎥
⎢⎥
⎢⎥
⎢⎥
⎢⎥
⎢⎥
⎢⎥
⎢⎥
⎣⎦
, b = [09009320] T.
实验目的: 1. 了解MATLAB软件, 学会MATLAB软件的一些基本操作;
2. 熟悉MATLAB软件的一些数值计算功能,如在矩阵方面的运算;
3. 练习编写简单的MATLAB程序。

实验原理: 1. 对于齐次线性方程组Ax = b, 根据gramer法则, 其解为X i=D i/D;
2. 当A可逆,即|A|≠0时, 方程组Ax = b的解为X=inv(A)*B;
3. 当……时, 对增广矩阵[A, b]进行初等行变换, 把它化为最简形, 则
原矩阵b对应的地方即为A-1*b,取最简形的最后一列赋给X即得线
性方程组的解。

实验方案: 1. 在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;];
b=[0 9 0 0 9 3 2 0]';%输入矩阵A与b
X=[]; %声明一个名为X的空矩阵
D=det(A); %把A的行列式的值求出来赋给D
for i=1:8 %开始循环语句
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;];
b=[0 9 0 0 9 3 2 0]';
A(:,i)=b; %把A的第i列替换成b
X=[X,det(A)/D]; %把求出的每个值填入空矩阵X对应的列中
i=i+1; %让i递增一控制循环的结束
end %结束for循环
X=X’%输出矩阵X的转置,即为线性方程组的解
2. 在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];
b=[0 9 0 0 9 3 2 0]';%输入矩阵A和b
X=inv(A)*b%把A逆与b相乘的结果赋给X,即为线性方程组的解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];
b=[0 9 0 0 9 3 2 0]'; %输入矩阵A和b
C=rref([A,b]); %将A的增广矩阵[A,b]化为最简形并赋给C
X=C(:,9) %取C的第九列并赋给X,即为线性方程组的解
实验结果: 1. 2. 3.
X =
34.9644
-29.1370
19.9534
-11.7717
6.4842
-1.9415
1.0372
-0.2074 X =
34.9644
-29.1370
19.9534
-11.7717
6.4842
-1.9415
1.0372
-0.2074
X =
34.9643
-29.1370
19.9535
-11.7717
6.4842
-1.9415
1.0372
-0.2075
对实验结果的分析:
在上述3种方案中,前两种的结果完全相同,而与第三种方案的结果稍有不同,但差距极小,只要是由于不同的计算方法导致运算过程中近似程度不同,导致最终的精度不同。

实验2 研究三个平面的位置关系
实验内容: 用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个平面的方程, 得方程组:
⎪⎩⎪
⎨⎧=+=+=++ t
z *t x *2 2
y x - 1 z y x 2
令A =[1,1,1;-1,1,0;2, 0,2t ], b = [1,2 t]’, B = [A , b ], 则原问题转化为线
性方程组Ax=b 的解问题,当t 取何值时有唯一解; 当t 取何值时有无穷多解; 当t 取何值时无解. 根据非齐次线性方程组的解的理论, 求出相应的t 的取值或取值范围,并用matlab 作出图形即可。

计算得:
当t ≠1且t ≠-1时,线性方程组只有一解,三平面交于一点; 当t=-1时,线性方程组有无穷多解,三平面交于一条直线; 当t=1时,线性方程组无解,三平面无公共点。

实验方案: 1. 在MATLAB 命令窗口中输入如下命令:
z=-2:0.1:2;y=z; %规定z 的取值范围和精确度 [Y ,Z]=meshgrid(y,z);
%用y 和z 产生“格点”矩阵 X1=-Y-Z+ ones(size(Z)); %平面p1 X2= Y+0*Z-2*ones(size(Z)); %平面p2 X3=-2*Z+1*ones(size(Z));%平面p3.取t=2
surf(X1,Y ,Z),hold on,mesh(X2,Y ,Z),mesh(X3,Y ,Z) %在同一个坐标系中作出三个平面的图形
2. 在MATLAB 命令窗口中输入如下命令:
z=-2:0.1:2;y=z; %规定z 的取值范围和精确度 [Y ,Z]=meshgrid(y,z);
%用y 和z 产生“格点”矩阵 X1=-Y-Z+ ones(size(Z)); %平面p1 X2= Y+0*Z-2*ones(size(Z)); %平面p2
X3=-(1/2)*Z-(1/2)*ones(size(Z)); % 平面p3. 取t=-1
surf(X1,Y ,Z),hold on,mesh(X2,Y ,Z),mesh(X3,Y ,Z)3. %在同一个坐标系中作出三个平面的图形
3. 在MATLAB 命令窗口中输入如下命令:
z=-2:0.1:2;y=z; %规定z 的取值范围和精确度 [Y ,Z]=meshgrid(y,z); %用y 和z 产生“格点”矩阵 X1=-Y-Z+ ones(size(Z)); %平面p1 X2= Y+0*Z-2*ones(size(Z)); %平面p2.
X3=-(1/2)*Z+(1/2)* ones (size(Z)); %平面p3. 取t=1.
surf(X1,Y ,Z),hold on, mesh(X2,Y ,Z),mesh(X3,Y ,Z) %在同一个坐标系中作出三个平面的图形
实验结果: 1.
2.
3.
对实验结果的分析:。

相关主题