西安交大计算方法上机报告

西安交大计算方法上机报告

ID:34634694

大小:1.20 MB

页数:46页

时间:2019-03-08

西安交大计算方法上机报告_第1页
西安交大计算方法上机报告_第2页
西安交大计算方法上机报告_第3页
西安交大计算方法上机报告_第4页
西安交大计算方法上机报告_第5页
资源描述:

《西安交大计算方法上机报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算方法上机实习题目报告班级:材料s3076班姓名:丁明帅学号:3113305029100000161:计算S2,要求误差小于10,给出实现算法。k1k【实现思路】-6设当k值为i时S-Si<10,则只需要1000001SSi2i1k100000100000111i1kk1i1k1k11610i1000001即可得到i>90909.0909561010因此,只需取i=90910即满足题目的近似要求。【算法依据】本题比较简单,主要通过for循环语句对所需要计算的90910个数带

2、入公式进行计算,然后运行程序即可得出S的近似解。【算法步骤】1:给定初始值条件s,n。2:用for循环对1/(s^2)从1到90910进行求和,并将每次的值加到初值为零的sum上。3:输出sum的结果。【matlab运行程序】函数question1.mfunctionquestion1s=1;%起始值n=90910;%项数formatlong,sum=0;%累加的和fori=1:n3/46sum=sum+1/(s^2);s=s+1;enddisplay(['原式求和结果为:',num2str(sum,16)]);【运行结果】>>question

3、1原式求和结果为:1.644923067018747【结果分析】本题通过理论近似计算算出当求和项大于90909时,所计算出的S’近似值即与精确值6S之间的误差小于10,因而无需将求和计算到第100000项,这样就节省了计算机计算的-7时间,同时也达到了计算精度。计算出的结果为S’=1.644923067018747,由于误差项在10,故取S’=1.6449231。即SS=1.6449231【问题总结】本题在刚开始分析的时候由于想到从1到100000计算S的精确值的计算量对于电脑来说并不是很大,因而曾先计算出S的精确值,然后用while语句

4、对每一步计算过后值再进行判断,如果近似值已经与精确值的差小于给定误差,则停止计算。那么计算出的近似值即是所要求的解。但后来想到这样并没有减少计算量,反而比求解精确值的计算量还要大,然后就将这样的求解模式否定了。另一个问题就是在求解过程中发现输出的结果的小数个数太少,无法达到相应的精度,后来通过调整变量类型解决了这个问题。2:编写实现对N阶非奇矩阵A进行LU分解的程序。【实现思想】若n阶方阵的各阶顺序主子行列式不为零,则存在唯一的单位下三角矩阵L和上三角矩阵U,满足下式:ALU111121nl211222n=1

5、ll3132lll1n1n2n3nn4/46因此有1j2jijli1li2lii,-1100jj0n0likkjk1i1in1likkjij,jii,1,2,...,nlllk1ikkjiiijikkjjk11kilikkjjii,1,2,...,nk1从而得到计算的公式:jn1,2,...,11jjli1i2,3,...,ni111i1

6、ijijluikkjjii,1,...,,ni2,3,..,nk1i11lki(kilktti)ki1,...,,ni2,3,..,niit1根据定义知道L矩阵的斜对角线上的值都为1,且L矩阵的第一行与原矩阵A的第一行相同,因此可以根据公式先计算U的第一行,然后计算L的第一列;以后的第i步先计算U的第i行,然后计算L的第i列(U的第n行不作计算)。然后把最后的U的第n行计算出来。【算法步骤】1:对于给定的矩阵A进行行与列个数的判断。2:求出L,U矩阵的斜对角线元素,并判断矩阵是否为非奇矩阵。3:求出

7、U矩阵的第一行,L矩阵的第一列元素。4:利用for循环根据计算关系式逐步计算U矩阵的第i元素以及L矩阵的第j列元素。5:然后将U的最后一行计算出来。【matlab运行程序】函数-LU.mfunction[L,U]=LU(A)%定义LU函数[M,N]=size(A);L=zeros(N);if(M~=N)5/46disp('矩阵维数不匹配');endfori=1:NL(i,i)=1;%将L矩阵斜对角线的值置为1endU(1,1)=A(1,1)/L(1,1);ifL(1,1)*U(1,1)==0disp('矩阵奇异')%判断A是否为非奇矩阵else

8、forj=2:NU(1,j)=A(1,j)/L(1,1);%求出U矩阵的第1行L(j,1)=A(j,1)/U(1,1);%求出L矩阵的第1列enden

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。