大连理工大学-矩阵大作业

上传人:s9****2 文档编号:512233820 上传时间:2023-11-16 格式:DOC 页数:24 大小:718.51KB
返回 下载 相关 举报
大连理工大学-矩阵大作业_第1页
第1页 / 共24页
大连理工大学-矩阵大作业_第2页
第2页 / 共24页
大连理工大学-矩阵大作业_第3页
第3页 / 共24页
大连理工大学-矩阵大作业_第4页
第4页 / 共24页
大连理工大学-矩阵大作业_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《大连理工大学-矩阵大作业》由会员分享,可在线阅读,更多相关《大连理工大学-矩阵大作业(24页珍藏版)》请在金锄头文库上搜索。

1、(1)从大到小的顺序的计算程序:function y=snd(n)format long y=0;if n2 disp(请输入大于1的数!)else s=0; i=2;while i=n s=single(s+(1/(i2-1); i=i+1; end y=s;end(2)从小到大的顺序的计算程序:function y=snx(n)format long y=0;if n2 disp(请输入大于1的数!)else s=0; i=n; while 1 s=single(s+(1/(i2-1); i=i-1; if i=1 break end end y=s;end(3)按两种顺序分别计算并指出有

2、效位数(编制程序时用单精度) 的计算结果: 的计算结果: 的计算结果:计算时的有效位数为七位数。 秦九昭算法计算程序:function y=qjz(a,x)j=3;i=size(a,2);switch i case 1 y=a(1); case 2 y=a(1)*x+a(2); otherwise p=a(1)*x+a(2); while j=1 k=j+1; s=b(j); while k=9 s=s-x(k)*a(j,k); k=k+1; end x(j)=s/a(j,j); j=j-1;enddisp(x)function x,y=gauss(a,b)num_i=size(a,1);j=

3、1;while j=(num_i-1) i=j+1; while i=1 k=j+1; s=b(j); while k=9 s=s-x(k)*a(j,k); k=k+1; end x(j)=s/a(j,j); j=j-1;enddisp(x)function a1,b1=lzy(a,b)num_i,num_j=size(a);ab=zeros(num_i,num_j+1);for k=1:num_j ab(:,k)=a(:,k);endab(:,num_j+1)=b(:,1);j=1;while jnum_j max,max_i=searmax(j,j,ab); i_nu=ab(j,:); a

4、b(j,:)=ab(max_i,:); ab(max_i,:)=i_nu; m=j+1; while m=num_i for n=j:num_j+1 ab(m,n)=ab(m,n)-(ab(m,j)/max)*ab(j,n); end m=m+1; end j=j+1;enda1=zeros(num_i,num_j);for k=1:num_i a1(:,k)=ab(:,k); endb1=ab(:,num_i+1);function b,c=searmax(i,j,a)num_i=size(a,1);k=i;m=abs(a(k,j);c=k;while k=abs(a(k,j) contin

5、ue else m=abs(a(k,j); c=k; endendb=a(c,j);运行的结果为:(1) LU分解的计算程序及结果:function l,u=lufz(a)num_i,num_j=size(a);l=eye(num_i);u=eye(num_i);for j=1:num_j u(1,j)=a(1,j); l(j,1)=a(j,1)/u(1,1);endi=2;while i=num_i j=i; while jnum_i s=0; for k=1:i-1 s=s+l(i,k)*u(k,j); end u(i,j)=a(i,j)-s; s=0; for k=1:i-1 s=s+l

6、(j+1,k)*u(k,i); end l(j+1,i)=(a(j+1,i)-s)/u(i,i); j=j+1; end s=0; for k=1:i-1 s=s+l(i,k)*u(k,num_i); end u(i,num_i)=a(i,num_i)-s; i=i+1;end输入要求解的矩阵后运行的结果为:(2) 带列主元的LU分解计算程序及结果由于Matlab中自带带列主元的LU分解函数,故计算程序如下:A(1,:)=31,-13,0,0,0,-10,0,0,0;A(2,:)=-13,35,-9,0,-11,0,0,0,0;A(3,:)=0,-9,31,-10,0,0,0,0,0;A(4,

7、:)=0,0,-10,79,-30,0,0,0,-9;A(5,:)=0,0,0,-30,57,-7,0,-5,0;A(6,:)=0,0,0,0,-7,47,-30,0,0;A(7,:)=0,0,0,0,0,-30,41,0,0;A(8,:)=0,0,0,0,-5,0,0,27,-2;A(9,:)=0,0,0,-9,0,0,0,-2,29;L,U,P=lu(A);运行结果如下:为单位阵。(3) 求A的逆矩阵的计算程序及结果:A(1,:)=31,-13,0,0,0,-10,0,0,0;A(2,:)=-13,35,-9,0,-11,0,0,0,0;A(3,:)=0,-9,31,-10,0,0,0,0

8、,0;A(4,:)=0,0,-10,79,-30,0,0,0,-9;A(5,:)=0,0,0,-30,57,-7,0,-5,0;A(6,:)=0,0,0,0,-7,47,-30,0,0;A(7,:)=0,0,0,0,0,-30,41,0,0;A(8,:)=0,0,0,0,-5,0,0,27,-2;A(9,:)=0,0,0,-9,0,0,0,-2,29;num_i,num_j=size(A);A_n=eye(num_i);E=eye(num_i);L,U=lufz(A);for i=1:num_i y=hd(1,L,E(:,i); A_n(:,i)=hd(0,U,y);enddisp(A_n)f

9、unction l,u=lufz(a)num_i,num_j=size(a);l=eye(num_i);u=eye(num_i);for j=1:num_j u(1,j)=a(1,j); l(j,1)=a(j,1)/u(1,1);endi=2;while i=num_i j=i; while jnum_i s=0; for k=1:i-1 s=s+l(i,k)*u(k,j); end u(i,j)=a(i,j)-s; s=0; for k=1:i-1 s=s+l(j+1,k)*u(k,i); end l(j+1,i)=(a(j+1,i)-s)/u(i,i); j=j+1; end s=0; for k=1:i-1 s=s+l(i,k)*u(k,num_i); end u(i,num_i)=a(i,num_i)-s; i=i+1;endfunction x=hd(f,a,b)num_i,num_j=size(a);x=zeros(num_i,1);switch f case 0 i=num_i-1; x

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号