资源描述:
《计算方法上机作业集合》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档第一次&第二次上机作业上机作业:1.在Matlab上执行:>>5.1-5-0.1和>>1.5-1-0.5给出执行结果,并简要分析一下产生现象的原因。解:执行结果如下:在Matlab中,小数值很难用二进制进行描述。由于计算精度的影响,相近两数相减会出现误差。2.(课本181页第一题)解:(1)n=0时,积分得I0=ln6-ln5,编写如下图代码文案大全实用文档从以上代码显示的结果可以看出,I20的近似值为0.012712966517465(2)In=01xn5+xdx,可得01xn6dx≤01xn5+xdx≤01xn5dx,得16(n+1)≤In≤15(n+1),则有1126≤I20
2、≤1105,取I20=1105,以此逆序估算I0。代码段及结果如下图所示文案大全实用文档结果是从I19逆序输出至I0,所以得到I0的近似值为0.088392216030227。(3)从I20估计的过程更为可靠。首先根据积分得表达式是可知,被积函数随着n的增大,其所围面积应当是逐步减小的,即积分值应是随着n的递增二单调减小的,(1)中输出的值不满足这一条件,(2)满足。设Sn表示In的近似值,Sn-In=(-5)n(S0-I0)(根据递推公式可以导出此式),可以看出,随着n的增大,误差也在增大,所以顺序估计时,算法不稳定性逐渐增大,逆序估计情况则刚好相反,误差不断减小,算法逐渐趋于稳定。文案
3、大全实用文档2.(课本181页第二题)(1)上机代码如图所示求得近似根为0.09058(2)上机代码如图所示文案大全实用文档得近似根为0.09064;(3)牛顿法上机代码如下计算所得近似解为0.09091第三次上机作业文案大全实用文档上机作业181页第四题线性方程组为1.13483.83260.53011.78751.16513.40172.53301.54353.41294.93171.23714.99988.76431.314210.67210.0147x1x2x3x4=9.53426.394118.423116.9237(1)顺序消元法A=[1.1348,3.8326,1.1651,
4、3.4017;0.5301,1.7875,2.5330,1.5435;3.4129,4.9317,8.7643,1.3142;1.2371,4.9998,10.6721,0.0147];b=[9.5342;6.3941;18.4231;16.9237];上机代码(函数部分)如下function[b]=gaus(A,b)%用b返回方程组的解B=[A,b];n=length(b);RA=rank(A);RB=rank(B);dif=RB-RA;ifdif>0disp('此方程组无解');returnendifRA==RBifRA==nformatlong;disp('此方程组有唯一解');文案
5、大全实用文档forp=1:n-1fork=p+1:nm=B(k,p)/B(p,p);B(k,p:n+1)=B(k,p:n+1)-m*B(p,p:n+1);endend%顺序消元形成上三角矩阵b=B(1:n,n+1);A=B(1:n,1:n);b(n)=b(n)/A(n,n);forq=n-1:-1:1b(q)=(b(q)-sum(A(q,q+1:n)*b(q+1:n)))/A(q,q);end%回代求解elsedisp('此方程组有无数组解');endend上机运行结果为>>A=[1.1348,3.8326,1.1651,3.4017;0.5301,1.7875,2.5330,1.5435
6、;3.4129,4.9317,8.7643,1.3142;1.2371,4.9998,10.6721,0.0147];b=[9.5342;6.3941;18.4231;16.9237];>>X=gaus(A,b)此方程组有唯一解文案大全实用文档X=1.0000000000000001.0000000000000001.0000000000000001.000000000000000>>(1)列主元消元法A=[1.1348,3.8326,1.1651,3.4017;0.5301,1.7875,2.5330,1.5435;3.4129,4.9317,8.7643,1.3142;1.2371,4
7、.9998,10.6721,0.0147];b=[9.5342;6.3941;18.4231;16.9237];函数部分代码如下function[b]=lieZhu(A,b)%用b返回方程组的解B=[A,b];RA=rank(A);RB=rank(B);n=length(b);文案大全实用文档dif=RB-RA;formatlong;ifdif>0disp('该方程组无解');returnendifdif==0ifRA=