丁丽娟《数值计算方法》五章课后实验题答案(源程序很详细,且运行无误)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
丁丽娟《数值计算方法》五章课后实验题答案(源程序都是自己写的,很详细,且保证运行无误)
我做的五章数值实验作业题目如下:
第二章:1、2、3、4题
第三章:1、2题
第四章:1、2题
第六章:2、3题
第八章:1、2题
第二章
1:(1)
对A进行列主元素三角分解:
function [l u]=myfun(A)
n=size(A);
for k=1:n
for i=k:n
sum=0;
m=k;
for j=1:(k-1)
sum=sum+A(i,j)*A(j,k);
end
s(i)=A(i,k)-sum;
if abs(s(m)) m=i; end end for j=1:n c=A(m,j); A(m,j)=A(k,j); A(k,j)=c; end for j=k:n sum=0; for r=1:(k-1) sum=sum+A(k,r)*A(r,j); end u(k,j)=A(k,j)-sum; A(k,j)=u(k,j); end for i=1:n l(i,i)=1; end for i=(k+1):n sum=0; for r=1:(k-1) sum=sum+A(i,r)*u(r,k); end l(i,k)=(A(i,k)-sum)/u(k,k); A(i,k)=l(i,k); end end 求A的列主元素三角分解: >>A=[1 1 1 1 1;1 2 3 4 5;1 3 6 10 15;1 4 10 20 35;1 5 15 35 70]; >>[L,U]=myfun(A) 结果:L = 1.0000 0 0 0 0 1.0000 1.0000 0 0 0 1.0000 0.5000 1.0000 0 0 1.0000 0.7500 0.7500 1.0000 0 1.0000 0.2500 0.7500 -1.0000 1.0000 U = 1.0000 1.0000 1.0000 1.0000 1.0000 0 4.0000 14.0000 34.0000 69.0000 0 0 -2.0000 -8.0000 -20.5000 0 0 0 -0.5000 -2.3750 0 0 0 0 -0.2500 (2) 求矩阵的逆矩阵A-1: inv(A) 结果为:ans = 5 -10 10 -5 1 -10 30 -35 19 -4 10 -35 46 -27 6 -5 19 -27 17 -4 1 -4 6 -4 1 (3) 检验结果:E=diag([1 1 1 1 1]) A\E ans = 5 -10 10 -5 1 -10 30 -35 19 -4 10 -35 46 -27 6 -5 19 -27 17 -4 1 -4 6 -4 1 2: 程序: function d=myfun(a,b,c,d,n) for i=2:n l(i)=a(i)/b(i-1); a(i)=l(i); u(i)=b(i)-c(i-1)*a(i); b(i)=u(i); y(i)=d(i)-a(i)*d(i-1); d(i)=y(i); end x(n)=d(n)/b(n); d(n)=x(n); for i=(n-1):-1:1 x(i)=(d(i)-c(i)*d(i+1))/b(i); d(i)=x(i); end 求各段电流量程序: for i=2:8 end b=[2 5 5 5 5 5 5 5]; c=[-2 -2 -2 -2 -2 -2 -2]; V=220; R=27; d=[V/R 0 0 0 0 0 0 0]; n=8; I=myfun(a,b,c,d,n) 运行程序得: I = 8.1478 4.0737 2.0365 1.0175 0.5073 0.2506 0.1194 0.0477 3: (1)求矩阵A和向量b的matlab程序: function [A b]=myfun(n) for i=1:n X(i)=1+0.1*i; end for i=1:n for j=1:n A(i,j)=X(i)^(j-1); end for i=1:n b(i)=sum(A(i,:)); end 求n=5时A1,b1及A1的2-条件数程序运行结果如下:n=5; [A1,b1]=myfun(n) A1 = 1.0000 1.1000 1.2100 1.3310 1.4641 1.0000 1.2000 1.4400 1.7280 2.0736 1.0000 1.3000 1.6900 2.1970 2.8561 1.0000 1.4000 1.9600 2.7440 3.8416 1.0000 1.5000 2.2500 3.3750 5.0625 b1 = 6.1051 7.4416 9.0431 10.9456 13.1875 cond2=cond(A1,2) cond2 =