资源描述:
《用Matlab学习线性代数_行列式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用Matlab学习线性代数__行列式实验目的理解行列式的概念、行列式的性质与计算Matlab函数det实验内容前面的四个练习使用整数矩阵,并演示一些本章讨论的行列式的性质。最后两个练习演示我们使用浮点运算计算行列式时出现的不同。理论上将,行列式的值应告诉我们矩阵是否是奇异的。然而,如果矩阵是奇异的,且计算其行列式采用有限位精度运算,那么由于舍入误差,计算出的行列式的值也许不是零。一个计算得到的行列式的值很接近零,并不能说明矩阵是奇异的甚至是接近奇异的。此外,一个接近奇异的矩阵,它的行列式值也可能不接近零。1.用如下方法随
2、机生成整数元素的5阶方阵:A=round(10*rand(5))和B=round(20*rand(5))-10用Matlab计算下列每对数。在每种情况下比较第一个是否等于第二个。(1)det(A)==det(AT)(2)det(A+B);det(A)+det(B)(3)det(AB)==det(A)det(B)(4)det(ATBT)==det(AT)det(BT)(5)det(A-1)==1/det(A)(6)det(AB-1)==det(A)/det(B)>A=round(10*rand(5));>>B=round(
3、20*rand(5))-10;>>det(A)ans=5972>>det(A')ans5972>>det(A+B)ans=36495>>det(A)+det(B)ans=26384>>det(A*B)ans=121900464>>det(A)*det(B)ans=121900464>>det(A'*B')ans=121900464>>det(A')*det(B')ans=121900464>>det(inv(A))ans=0.00016745>>1/det(A)ans=0.00016745>>det(A*inv(B))a
4、ns=0.29257>>det(A)/det(B)ans=0.29257>>2.n阶的幻方阵是否奇异?用Matlab计算n=3、4、5、…、10时的det(magic(n))。看起来发生了什么?验证当n=24和25时,结论是否仍然成立。【当n为奇数时,det(magic(n))不为0;当n为偶数时,det(magic(n))为0;】>>det(magic(3))ans=-360>>det(magic(4))ans=0>>det(magic(5))ans=5070000>>det(magic(6))ans=0>>det(m
5、agic(7))ans=-3.4805e+011>>det(magic(8))ans=0>>det(magic(9))ans=7.5036e+016>>det(magic(10))ans=0>>det(magic(24))ans=0>>det(magic(25))ans=3.9506e+069>>3.令A=round(10*rand(6))。下列每种情形下,用Matlab计算给出的另一个矩阵。说明第二个矩阵和矩阵A之间的关系,并计算两个矩阵的行列式。这些行列式之间有什么关联?(1)B=A;B(2,:)=A(1,:);B(
6、1,:)=A(2,:);【A与B行换了一次】(2)C=A;C(3,:)=4*A(3,:);【B的第三行为A的四倍】(3)D=A;D(5,:)=A(5,:)+2*A(4,:)【B的第五行等于A的第五行加上A的第四行的二倍】>>A=round(10*rand(6));>>B=A;B(2,:)=A(1,:);B(1,:)=A(2,:);>>det(A)ans=4636>>det(B)ans=-4636>>C=A;C(3,:)=4*A(3,:);>>det(C)ans=18544>>D=A;D(5,:)=A(5,:)+2*A(4
7、,:);>>det(D)ans=4636>>4.我们可以通过如下方法随机生成一个全部元素为0和1的6阶方阵A:A=round(rand(6)(1)这些0-1矩阵奇异的百分比是多少?【61%】可以用Matlab命令估计这个百分比:y=zeros(1,100);然后生成100个测试矩阵,并且若第j个矩阵是奇异的,令y(j)=1,否则为0。这可以通过Matlab中的for循环容易地实现。循环如下:forj=1:100A=round(rand(6));y(j)=(det(A)==0);end为了确定生成了多少奇异矩阵,使用Mat
8、lab命令sum(y)。生成的矩阵中,奇异矩阵的百分比是多少?>>A=round(rand(6));>>y=zeros(1,100);>>forj=1:100A=round(rand(6));y(j)=(det(A)==0);end>>yy=Columns1through18011100101111001111Col