高等代数数学实验.docx
《高等代数数学实验.docx》由会员分享,可在线阅读,更多相关《高等代数数学实验.docx(19页珍藏版)》请在冰豆网上搜索。
高等代数数学实验
高等代数课程实验报告
实验1
班级
2011级1班
学号
2011040123
姓名
李丛文
实验题目
矩阵的基本运算
实验目的
1.掌握Matlab软件的矩阵赋值方法;
2.掌握Matlab软件的矩阵加法、数乘、转置和乘法运算;
3.掌握Matlab软件的矩阵幂运算及逆运算;
4.掌握Matlab软件的矩阵元素群运算;
5.通过Matlab软件进一步理解和认识矩阵的运算规则。
实验内容
(包括分析过程、方法、和代码,结果)
1.利用函数RAND和函数ROUND构造一个5*5的随机正整数矩阵A和B,验证以下等式是否成立:
(1)AB=BA;
(2)(A+B)(A-B)=A^2-B^2;
(3)(AB)^T=B^TA^T
解:
在MATLAB软件生成以下矩阵:
P=RAND(5,5)%创建5*5阶元素为从0到1的均匀分布的随机数矩阵
A=ROUND(P)%对矩阵P中所有元素进行四舍五入运算
显示为:
A=11100
00110
10111
01100
10010
从复上述操作,得B
B=00011
01101
10110
01000
00110
(1)输入A*B
ans=
11222
11110
11231
11211
01011
输入B*A
ans=
11110
20231
22311
00110
11211
所以AB与BA不等
(2)输入(A+B)*(A-B)
ans=
2010-1
1-1011
323-20
0-202-1
113-10
输入A^2-B^2
ans=
20211
00-1-10
21200
1-1120
011-10
所以不成立。
(3)输入(A*B)’
ans=
11110
11111
21220
21311
20111
输入A’*B’
ans=
12201
10201
12312
13111
01101
所以不成立。
2.已知向量a=(1234),b=(7010),请计算它们的内积。
要求:
(1)用矩阵相乘命令计算;
(2)用矩阵元素群运算的方法计算。
解:
(1)输入a=[1,2,3,4];b=[7,0,1,0]’;a*b
ans=
10
(2)输入c=a.*b
c=[7,0,1,0]
输入a*c
ans=
10
3.已知X【531;1-3-2;-521】=【-830;-590;-2150】,用求逆矩阵和矩阵右除两种方法求矩阵X。
解:
(1)输入A=【5,3,1;1,-3,-2;-5,2,1】;B=【-8,3,0;-5,9,0;-2,15,0】;X=B*A^-1
X=
1.00002.00003.0000
4.00005.00006.0000
7.00008.00009.0000
(2)输入X=B/A
X=
1.00002.00003.0000
4.00005.00006.0000
7.00008.00009.0000
4.已知BA-B=A,其中B=【1-20;210;002】,用求逆矩阵和矩阵左除两种方法求矩阵A。
解:
(1)输入B=【1,-2,0;2,1,0;0,0,2】;
5.已知A=【12345;23451;34512;45123;51234】,求A^5,A^-1.
解:
输入A=【1,2,3,4,5;2,3,4,5,1;3,4,5,1,2;4,5,1,2,3;5,1,2,3,4】;A^5
ans=
Columns1through2
151500151375
151375151875
151875152375
152375152250
152250151500
Columns3through4
151875152375
152375152250
152250151500
151500151375
151375151875
Column5
152250
151500
151375
151875
152375
输入A^-1
ans=
Columns1through3
-0.18670.01330.0133
0.01330.01330.0133
0.01330.01330.2133
0.01330.2133-0.1867
0.2133-0.18670.0133
Columns4through5
0.01330.2133
0.2133-0.1867
-0.18670.0133
0.01330.0133
0.01330.0133
实验结果分析或者实验总结和体会
一.笔记;
1.在运算符号前加“.”,其含义即为矩阵元素的群运算。
Eg.C=A.*B
2.矩阵右除eg.P=B/A
3.矩阵左除eg.Q=A\B
4.矩阵同行元素以逗号或空格分割eg.A=[9,3,2;6,5,6;6,6,0]
行与行之间必须用分号或回车分隔eg.A=[932;656;660]
二.心得与体会
通过这次实验,我学会了用MATLAB来生成矩阵以及矩阵的基本运算法则,也见识了用matlab生成矩阵的简单与必要,深刻体会到矩阵的运算的简便。
在这次实验中,我学会了用matlab的命令生成矩阵,以及进行一些简单的矩阵运算。
实验2
实验题目
行列式与方程组求解
实验目的
1,掌握matlab命令求解行列式
2,熟练用matlab求解矩阵的秩与矩阵的基本变换
3,熟练用matlab求解满秩线性方程组的解的各种方法
4,熟练用matlab使用符号变量的应用
实验内容
(包括分析过程、方法、和代码,结果)
1.利用函数randn和函数round构造一个6*6的随机整数矩阵A,验证矩阵A行列式满足下列性质:
(1)B=A^T,验证︱B︱=︱A︱;
(2)把矩阵A的第2行和第5行进行对调后的矩阵B,验证︱B︱=-︱A︱;
(3)把矩阵A的第3列加到第1列后的矩阵为B,验证︱B︱=︱A︱。
解:
(1)输入A=round(randn(6,6))
A=
Columns1through5
01001
00001
-11-1-1-1
01-1-10
0110-1
0-10-1-2
Column6
1
-1
0
0
0
-1
输入B=A’
B=Columns1through5
00-100
10111
00-1-11
00-1-10
11-10-1
1-1000
Column6
0
-1
0
-1
-2
-1
(2)a=A(2,:
)
b=A(5,:
)
c=A(2,:
)=a
B=c(5,:
)=b
验证即可
(3)a=A(:
3)
b=A(:
1)
c=a+b
B=A(:
1)=c
验证即可
2.构造5阶方阵A,验证公式:
AA*=A*A=︱A︱I,其中A*为矩阵A的伴随矩阵,I为同阶单位矩阵。
解:
输入:
fori=1:
5
forj=1:
5
T=A;
T(i,:
)=[];
T(:
j)=[];
AA(j,i)=(-1)^(i+j)*det(T);
end
end
输入I=【1,0,0,0,0;0,1,0,0,0;0,0,1,0,0;0,0,0,1,0;0,0,0,0,1】
A*AA
AA*A
︱A︱*I
3.求解非齐次线性方程组(-23X1-13X2+14X3+14X4-7X5=-104;-2X1-2X2+X3+6X4-14X5=-114;-
-4X1-5X2-9X3+2X4-9X5=-212;-4X1-7X2+X3+0X4+0X5=-56;9X1-X2+X3-9X4+10X5=120)
解A=[-23,-13,14,14,-7;-2,-2,1,6,-14;-4,-5,-9,2,-9;-4,-7,1,0,0;9,-1,1,-9,10]
A=
-23-131414-7
-2-216-14
-4-5-92-9
-4-7100
9-11-910
b=[-104,-114,-212,-56,120]
b=
-104-114-212-56120
x=inv(A)*b
4.求下列矩阵的逆:
(1)(-1016205-5;6-17-12-126;115137-11;22-20-146-1;4-5-11-3-9)
(2)(531-7-10;2-18-5315;-6032-11;-1-7000;12-10-10110)
解:
(1)A=[-10,16,20,5,-5;6,-17,-12,-1,26;11,5,13,7,-11;22-20,-14,6,-1;4,-5,-11,-3,-9]
A=
-1016205-5
6-17-12-126
115137-11
22-20-146-1
4-5-11-3-9
inv(A)
ans=1.0e+004*
0.89080.83940.3727-0.28421.5061
2.90412.73651.2150-0.92654.9100
-2.0948-1.9739-0.87640.6683-3.5417
1.65791.56220.6936-0.52892.8030
0.79020.74460.3306-0.25211.3360
(2)A=[5,3,1,-7,-10;2,-18,-5,3,15;-6,0,3,2,-11;-1,-7,0,00;12,-10,-10,1,10]
A=
531-7-10
2-18-5315
-6032-11
-1-7000
12-10-10110
inv(A)
ans=1.0e+015*
-0.4193-0.7402-0.45351.44910.1921
0.05990.10570.0648-0.2070-0.0274
-0.5990-1.0574-0.64782.07010.2744
-0.3594-0.6344-0.38871.24210.1647
-0.00000.0000-0.0000-0.0000-0.0000
5.求下了含符号变量的行列式,并要求把结果因式分解。
(1)(1-aa000;-11-aa00;0-11-aa0;00-11-aa;000-11-a)
(2)(abbb;abaa;aaba;bbba)
(3)(1111;abcd;a^2b^2c^2d^2;a^4b^4c^4d^4)
解:
(1)
clear,clc
symsa
A=[1-a,a,0,0,0;-1,1-a,a,0,0;0,-1,1-a,a,0;0,0,-1,1-a,a;0,0,0,-1,1-a]
A=[1-a,a,0,0,0]
[-1,1-a,a,0,0]
[0,-1,1-a,a,0]
[0,0,-1,1-a,a]
[0,0,0,-1,1-a]
D=det(A)
D=1-a+a^2-a^3+a^4-a^5
f=factor(D)
f=-(a-1)*(1+a+a^2)*(1-a+a^2)
(2)clear,clc
symsab
A=[a,b,b,b;a,b,a,a;a,a,b,a;b,b,b,a]
A=[a,b,b,b]
[a,b,a,a]
[a,a,b,a]
[b,b,b,a]
D=det(A)
D=-a^4+4*b*a^3-6*b^2*a^2+4*a*b^3-b^4
f=factor(D)
f=-(a-b)^4
(3)clear,clc
symsabcd
A=[1,1,1,1;a,b,c,d;a^2,b^2,c^2,d^2;a^4,b^4,c^4,d^4]
A=[1,1,1,1]
[a,b,c,d]
[a^2,b^2,c^2,d^2]
[a^4,b^4,c^4,d^4]
D=det(A)
D=b*c^2*d^4-b*d^2*c^4-b^2*c*d^4+b^2*d*c^4+b^4*c*d^2-b^4*d*c^2-a*c^2*d^4+a*d^2*c^4+a*b^2*d^4-a*b^2*c^4-a*b^4*d^2+a*b^4*c^2+a^2*c*d^4-a^2*d*c^4-a^2*b*d^4+a^2*b*c^4+a^2*b^4*d-a^2*b^4*c-a^4*c*d^2+a^4*d*c^2+a^4*b*d^2-a^4*b*c^2-a^4*b^2*d+a^4*b^2*c
f=factor(D)
f=-(d-c)*(b-c)*(b-d)*(-c+a)*(a-d)*(a-b)*(a+d+c+b)
实验结果分析或者实验总结和体会
1.笔记
算法:
A^-1。
下面分别给出求逆矩阵的其它方法。
(1)Matlab软件定义了矩阵的左除运算和右除运算,给矩阵运算带来了很大的方便。
从公
式A−1A=I出发,等式两边同时右除矩阵A,得“A−1=I/A”,从而求得矩阵A的逆阵;
若从公式AA−1=I出发,等式两边同时左除矩阵A,得“A−1=A\I”,同样可以求得矩
阵A的逆阵。
需要注意的是,左除和右除不仅是矩阵的左右位置不同,其运算符号也是不
同的。
(2)用笔来计算一个具体n阶方阵A的逆阵时,往往采用初等行变换法,即:
是把n阶矩
阵A和n阶单位矩阵I并排放在一起,然后对n×2n矩阵(A|I)做初等行变换,当其变为
最简行阶梯矩阵时,如果该矩阵的前n列为单位矩阵I,则该矩阵的后n列就是矩阵A的
逆矩阵A−1;如果该矩阵的前n列不是单位矩阵I,则矩阵A不可逆。
(3)根据AA*=A*A=AI,可以得到求逆矩阵公式:
A
AA
*
−1=,其中A*为矩阵A的
伴随矩阵。
2.心得与体会
这次实验主要是是对行列式与线性方程组的联系进行讲解,解释了行列式与方程组之间的关系,为我们解决方程组的新解法,为解决线性方程提供了更简洁的计算方法。
为我们的学习提供了极大地帮助。
实验3
实验题目
向量组的线性相关性及方程组的通解
实验目的
1掌握matlab软件分析向量组线性相关的方法;
2掌握matlab软件求解线性方程组通解的各种方法;
3通过matlab软件进一步理解和认识齐次线性方程组解空间的概念
实验内容
(包括分析过程、方法、和代码,结果)
1、求非齐次线性方程组的通解
A=[24-1416;-3-62-6-23;36-4619;125219]
b=[-2;7;-23;43]
[R,s]=rref([A,b])%将增广矩阵的行最简形矩阵赋给R
[m,n]=size(A)
x0=zeros(n,1)%将特解x0初始化为n维零向量;
r=length(s)
x0(s,:
)=R(1:
r,end)%将矩阵R的最后一列按基准元素的位置给特解x0赋值
null(A,'r')
2.将矩阵
化为最简行阶梯形矩阵。
程序运行结果
A=[71-1101;48-243;121-1-15];
rref(A)
3.求解线性方程组
程序结果如下:
>>B=[13-2417;260525;4118053;13211-2]
rref(B)
B=
13-2417
260525
4118053
13211-2
ans=
1.000000-9.50004.000035.5000
01.000004.0000-1.0000-11.0000
001.0000-0.75000-2.2500
000000
所以原方程组等价于方程组
故方程组的通解为:
,其中
4.解方程
。
解:
%求解符号行列式的方法,编写M文件如下la01.m
clearall%清除各种变量
symsx%定义x为符号变量
A=[3211;322-x^21;5132;7-x^2132]%给矩阵A赋值
D=det(A)%计算矩阵A的行列式D
f=factor(D)%对行列式D进行因式分解
X=solve(D)%求解方程“D=0”的解
在matlab命令窗口中输入:
la01.m
运行结果为:
A=
[3,2,1,1]
[3,2,2-x^2,1]
[5,1,3,2]
[7-x^2,1,3,2]
D=
-6+9*x^2-3*x^4
f=
-3*(x-1)*(x+1)*(x^2-2)
X=
-1
1
2^(1/2)
-2^(1/2)
实验结果分析或者实验总结和体会
一.笔记
1.length(s)计算向量s的长度,即向量s的维数。
2.end矩阵的最大下标,即:
最后一行或最后一列。
3.null(A,'r')计算齐次线性方程组Ax=0的基础解系
4.x0=A\b求非齐次线性方程组Ax=b的一个特解x0
5.fprintf按指定格式写文件,和C语言功能类似。
6.find(s)计算向量s中非零元素的下标
7.subs(A,k,n)将A中的所有符号变量k用数值n来替代
二.心得与体会
通过这次实验我对向量组的相关性及方程组的通解的问题有了更深刻的认识与理解,对向量组线性相关的方法,解线性方程组都有极大地帮助,对我们进一步理解和认识齐次线性方程组解空间的概念。
对方程组问题的认识有更深的认识,对我们解决方程问题有极大地帮助。
综合实验
实验题目
综合实验:
实验目的
1、表14.3给出了平面坐标系中六个点的坐标。
表14.3六点数据表
x
0
1
2
3
4
5
y
-750
0
840
1344
1344
0
实验内容
(包括分析过程、方法、和代码,结果)
(1)请过这六个点作一个五次多项式函数p5(x)=a0+a1x+a2x+a3x+a4x+a5x,并求当x=−1时的函数值()5p−1。
用MATLAB绘制多项式函数5p(x)曲线、已知点及插值
点(-1,
)。
(2)请根据这六个点,拟合一个三次多项式函数23
p3(x)=a0+a1x+a2x+a3x。
并用
MATLAB绘制多项式函数3p(x)曲线及已知点。
解:
(1)根据已知条件,把五个点的坐标值分别代入四次多项式函数,可以得到如下线性方程组:
实验结果分析或者实验总结和体会