数学实验报告
学号: , 姓名: , 得分:
实验1 求解线性方程组
实验内容: 用MATLAB 求解如下线性方程组Ax = b , 其中
⎡⎢56000000⎤⎢15600000⎥⎢01560000⎥A =⎢
00156000⎥⎢⎥, b = [2 1 1 0 8 1 ⎢00015600⎥0 7] T. ⎢00001560⎥⎢00000156⎥⎣00000015⎥⎦
实验目的: 1. 练习编写简单的MATLAB 程序.
2. 掌握用MATLAB 软件绘制简单图形的方法。
实验要求: 1. 实验报告中要附上所绘制的图形.
2. 实验报告用A4纸打印, 参考附录的格式
实验方案: 1. 利用Cramer 法则求解;
在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];b=[2;1;1;0;8;1;0;7]; >> A=[a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8];D=det(A); >> X=[]; %空矩阵
>> for i=1:8 %设计一段程序运行代码进行循环计算 A=[a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8]; A(:,i)=b;X=[X,det(A)/D]; i=i+1; end
>> format rat,X %规定输出的数值之为分数形式 X =
-6248/85 1047/17 -3307/85 759/34 -7356/607 2460/319 -1573/371 834/371 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]; >> b=[2;1;1;0;8;1;0;7];
>> format rat,X=A\b %规定输出的数值之为分数形式 X =
-6248/85 1047/17 -3307/85 759/34 -7356/607 2460/319 -1573/371 834/371 3. 利用Gauss 消元法求解 >> 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=[2;1;1;0;8;1;0;7];
>> B=[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]; >> b=[2;1;1;0;8;1;0;7]; >> B=[A,b]; %增广矩阵 >> format rat
>> C=rref(B); %用初等行变换把B 化为行最简形 >> X=C(:,9) %取C 的最后一列 X =
-6248/85 1047/17 -3307/85 759/34 -715/59 401/52 -106/25 281/125 实验结果:
1.
X = -6248/85 1047/17 -3307/85 759/34 -7356/607 2460/319 -1573/371 834/371 2.
X = -6248/85 1047/17 -3307/85 759/34 -7356/607 2460/319 -1573/371 834/371
3. X =
-6248/85 1047/17 -3307/85 759/34
-715/59 401/52 -106/25 281/125
对实验结果的分析:
上述3种方案所得的结果一致/不一致, 这是因为…
数学实验报告
学号: 21108107 , 姓名: 郑易楠 , 得分:
实验2 研究三个平面的位置关系
实验内容: 用MATLAB 研究下面的3个平面
π1: x + y + z = 1 π2: -x + y = 2 π3: 2x + t 2z = t
当t 取何值时交于一点? 当t 取何值时交于一直线? 当t 取何值时没有公共的交点? 并在每一种情形下, 用MATLAB 在同一个坐标系内绘制出这3个平面的图形(其中, 没有公共的交点的情况, 只要给t 取一个适当的值即可).
实验原理: 联立这3个平面的方程, 得方程组 x + y + z = 1
-x + y = 2 2x + t 2z = t
, 令A = (1,-1,2)T , b =(1,2,t)T , B = [A , b ], 则原问题转化为线性方程组
实验方案: 1. 在MATLAB 命令窗口中输入如下命令:
>> y=-20:1:20;z=y; >> [Y,Z]=meshgrid(y,z); >> X1=ones(size(Y))-Y-Z; >> X2=-2*ones(size(Y))+Y; >> X3=(-ones(size(Y))-Z)/2;
>> surf(X1,Y,Z),hold on, mesh(X2,Y,Z),mesh(X3,Y,Z) 2. 在MATLAB 命令窗口中输入如下命令: >> y=-20:1:20;z=y; >> [Y,Z]=meshgrid(y,z); >> X1=ones(size(Y))-Y-Z; >> X2=-2*ones(size(Y))+Y; >> X3=(ones(size(Y))-Z)/2;
>> surf(X1,Y,Z),hold on, mesh(X2,Y,Z),mesh(X3,Y,Z) 3. >> y=-20:1:20;z=y; [Y,Z]=meshgrid(y,z); X1=ones(size(Y))-Y-Z; X2=-2*ones(size(Y))+Y;
X3=(-3*ones(size(Y))-9*Z)/2;
surf(X1,Y,Z),hold on, mesh(X2,Y,Z),mesh(X3,Y,Z)
实验结果: 1、
2、
3、
对实验结果的分析:
“eigshow ”是Matlab 中平面线性变换的演示函数。如果A 是一个2 2矩阵,键入eigshow (A ),
就可分别显示不同的单位向量列x 及经变换后的向量y =Ax 。用鼠标拖动x 旋转,可以使
x 产生一个单位圆,并显示Ax 的轨迹。分别对矩阵⎛12⎫⎛31⎫⎛3-1⎫A = , B =, C =⎪ ⎪ ⎪,考察单位向量x 变化时,变换后所得向量y 的轨
212323⎝⎭⎝⎭⎝⎭
迹,回答下列问题,并给出代数解释:(1)问:x 和y 会不会在同一直线上?(2)如果x 和y 在同一直线上,它们的长度之比是多少?(3)用其它的矩阵试一下,你还发现有什么
规律?
实验二: A
>> A=[1,2;2,1];eigshow(A)(1)x 和y 在同一条直线;(2)此时x 和y 的长度比为1或
1/3
B
>> B=[3,1;2,3];eigshow(B) (1)x和y 在同一条直线;(2)x 和y 的长度比为
33±
182
C
>> C=[3,-1;2,3];eigshow(C) 此时x 和y 不在同一直线上。
(3)用其它的矩阵试一下,你还发现有什么规律?
设A=⎛ a b ⎫⎝c d ⎪⎪ ⎛⎭ a b ⎫⎝c d ⎪⎪⎛⎭ x 1⎫⎪⎛ y 1⎫⎪22
⎝x = x +x 2=1 2⎪⎭ ⎝y 2⎪⎭1
y 1=ax 1+bx 2 y 2=cx 1+dx 2
y 1x 1ax 1+bx 2
y ==
+dx 2x 2cx 12
化简得: cx 2
1+(d -a ) x 2
1x 2-bx 2=0
∆=(d -a ) 2+4bc
∆≥0 会在一直线上 ∆
数学实验报告
学号: , 姓名: , 得分:
实验1 求解线性方程组
实验内容: 用MATLAB 求解如下线性方程组Ax = b , 其中
⎡⎢56000000⎤⎢15600000⎥⎢01560000⎥A =⎢
00156000⎥⎢⎥, b = [2 1 1 0 8 1 ⎢00015600⎥0 7] T. ⎢00001560⎥⎢00000156⎥⎣00000015⎥⎦
实验目的: 1. 练习编写简单的MATLAB 程序.
2. 掌握用MATLAB 软件绘制简单图形的方法。
实验要求: 1. 实验报告中要附上所绘制的图形.
2. 实验报告用A4纸打印, 参考附录的格式
实验方案: 1. 利用Cramer 法则求解;
在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];b=[2;1;1;0;8;1;0;7]; >> A=[a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8];D=det(A); >> X=[]; %空矩阵
>> for i=1:8 %设计一段程序运行代码进行循环计算 A=[a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8]; A(:,i)=b;X=[X,det(A)/D]; i=i+1; end
>> format rat,X %规定输出的数值之为分数形式 X =
-6248/85 1047/17 -3307/85 759/34 -7356/607 2460/319 -1573/371 834/371 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]; >> b=[2;1;1;0;8;1;0;7];
>> format rat,X=A\b %规定输出的数值之为分数形式 X =
-6248/85 1047/17 -3307/85 759/34 -7356/607 2460/319 -1573/371 834/371 3. 利用Gauss 消元法求解 >> 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=[2;1;1;0;8;1;0;7];
>> B=[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]; >> b=[2;1;1;0;8;1;0;7]; >> B=[A,b]; %增广矩阵 >> format rat
>> C=rref(B); %用初等行变换把B 化为行最简形 >> X=C(:,9) %取C 的最后一列 X =
-6248/85 1047/17 -3307/85 759/34 -715/59 401/52 -106/25 281/125 实验结果:
1.
X = -6248/85 1047/17 -3307/85 759/34 -7356/607 2460/319 -1573/371 834/371 2.
X = -6248/85 1047/17 -3307/85 759/34 -7356/607 2460/319 -1573/371 834/371
3. X =
-6248/85 1047/17 -3307/85 759/34
-715/59 401/52 -106/25 281/125
对实验结果的分析:
上述3种方案所得的结果一致/不一致, 这是因为…
数学实验报告
学号: 21108107 , 姓名: 郑易楠 , 得分:
实验2 研究三个平面的位置关系
实验内容: 用MATLAB 研究下面的3个平面
π1: x + y + z = 1 π2: -x + y = 2 π3: 2x + t 2z = t
当t 取何值时交于一点? 当t 取何值时交于一直线? 当t 取何值时没有公共的交点? 并在每一种情形下, 用MATLAB 在同一个坐标系内绘制出这3个平面的图形(其中, 没有公共的交点的情况, 只要给t 取一个适当的值即可).
实验原理: 联立这3个平面的方程, 得方程组 x + y + z = 1
-x + y = 2 2x + t 2z = t
, 令A = (1,-1,2)T , b =(1,2,t)T , B = [A , b ], 则原问题转化为线性方程组
实验方案: 1. 在MATLAB 命令窗口中输入如下命令:
>> y=-20:1:20;z=y; >> [Y,Z]=meshgrid(y,z); >> X1=ones(size(Y))-Y-Z; >> X2=-2*ones(size(Y))+Y; >> X3=(-ones(size(Y))-Z)/2;
>> surf(X1,Y,Z),hold on, mesh(X2,Y,Z),mesh(X3,Y,Z) 2. 在MATLAB 命令窗口中输入如下命令: >> y=-20:1:20;z=y; >> [Y,Z]=meshgrid(y,z); >> X1=ones(size(Y))-Y-Z; >> X2=-2*ones(size(Y))+Y; >> X3=(ones(size(Y))-Z)/2;
>> surf(X1,Y,Z),hold on, mesh(X2,Y,Z),mesh(X3,Y,Z) 3. >> y=-20:1:20;z=y; [Y,Z]=meshgrid(y,z); X1=ones(size(Y))-Y-Z; X2=-2*ones(size(Y))+Y;
X3=(-3*ones(size(Y))-9*Z)/2;
surf(X1,Y,Z),hold on, mesh(X2,Y,Z),mesh(X3,Y,Z)
实验结果: 1、
2、
3、
对实验结果的分析:
“eigshow ”是Matlab 中平面线性变换的演示函数。如果A 是一个2 2矩阵,键入eigshow (A ),
就可分别显示不同的单位向量列x 及经变换后的向量y =Ax 。用鼠标拖动x 旋转,可以使
x 产生一个单位圆,并显示Ax 的轨迹。分别对矩阵⎛12⎫⎛31⎫⎛3-1⎫A = , B =, C =⎪ ⎪ ⎪,考察单位向量x 变化时,变换后所得向量y 的轨
212323⎝⎭⎝⎭⎝⎭
迹,回答下列问题,并给出代数解释:(1)问:x 和y 会不会在同一直线上?(2)如果x 和y 在同一直线上,它们的长度之比是多少?(3)用其它的矩阵试一下,你还发现有什么
规律?
实验二: A
>> A=[1,2;2,1];eigshow(A)(1)x 和y 在同一条直线;(2)此时x 和y 的长度比为1或
1/3
B
>> B=[3,1;2,3];eigshow(B) (1)x和y 在同一条直线;(2)x 和y 的长度比为
33±
182
C
>> C=[3,-1;2,3];eigshow(C) 此时x 和y 不在同一直线上。
(3)用其它的矩阵试一下,你还发现有什么规律?
设A=⎛ a b ⎫⎝c d ⎪⎪ ⎛⎭ a b ⎫⎝c d ⎪⎪⎛⎭ x 1⎫⎪⎛ y 1⎫⎪22
⎝x = x +x 2=1 2⎪⎭ ⎝y 2⎪⎭1
y 1=ax 1+bx 2 y 2=cx 1+dx 2
y 1x 1ax 1+bx 2
y ==
+dx 2x 2cx 12
化简得: cx 2
1+(d -a ) x 2
1x 2-bx 2=0
∆=(d -a ) 2+4bc
∆≥0 会在一直线上 ∆