資源描述:
《數(shù)值分析上機(jī)題目詳解.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第一章一、題目設(shè),其精確值為。1)編制按從大到小的順序,計(jì)算SN的通用程序。2)編制按從小到大的順序,計(jì)算SN的通用程序。3)按兩種順序分別計(jì)算,并指出有效位數(shù)。(編制程序時(shí)用單精度)4)通過本次上機(jī)題,你明白了什么?二、通用程序N=input('PleaseInputanN(N>1):');AccurateValue=single((0-1/(N+1)-1/N+3/2)/2);Sn1=single(0);fora=2:N;Sn1=Sn1+1/(a^2-1);endSn2=single(0);fora=2
2、:N;Sn2=Sn2+1/((N-a+2)^2-1);endfprintf('ThevalueofSn(N=%d)',N);fprintf('AccurateCalculation%f',AccurateValue);fprintf('Caculatefromlargetosmall%f',Sn1);fprintf('Caculatefromsmalltolarge%f',Sn2);disp('________________________________________________
3、____')三、結(jié)果從結(jié)果可以看出有效位數(shù)是6位。感想:可以得出,算法對(duì)誤差的傳播有一定的影響,在計(jì)算時(shí)選一種好的算法可以使結(jié)果更為精確。從以上的結(jié)果可以看到從大到小的順序?qū)е麓髷?shù)吃小數(shù)的現(xiàn)象,容易產(chǎn)生較大的誤差,求和運(yùn)算從小數(shù)到大數(shù)所得到的結(jié)果才比較準(zhǔn)確。第二章一、題目(1)給定初值及容許誤差,編制Newton法解方程f(x)=0的通用程序。(2)給定方程,易知其有三個(gè)根a)由Newton方法的局部收斂性可知存在當(dāng)時(shí),Newton迭代序列收斂于根x2*。試確定盡可能大的。b)試取若干初始值,觀察當(dāng)時(shí)Ne
4、wton序列的收斂性以及收斂于哪一個(gè)根。(3)通過本上機(jī)題,你明白了什么?二、通用程序1、定義函數(shù)和導(dǎo)函數(shù)%%定義函數(shù)f(x)functionFx=fx(x)Fx=x^3/3-x;----------------------------------%%定義導(dǎo)函數(shù)df(x)functionFx=dfx(x)Fx=x^2-1;2、尋找最大的clearflag=1;k=1;x0=0;whileflag==1delta=k*10^-6;x0=delta;k=k+1;m=0;flag1=1;whileflag1==
5、1&&m<=10^3x1=x0-fx(x0)/dfx(x0);ifabs(x1-x0)<10^-6flag1=0;endm=m+1;x0=x1;endifflag1==1
6、
7、abs(x0)>=10^-6flag=0;endendfprintf('Themaximundeltais%f',delta);3、Newton法求方程的根clearef=10^-6;%%給定容許誤差10^-6k=0;x0=input('PleaseinputinitialvalueXo:');disp('kXk');fprint
8、f('0%f',x0);flag=1;whileflag==1&&k<=10^3x1=x0-fx(x0)/dfx(x0);ifabs(x1-x0)9、區(qū)間,收斂于0,(1,∞)收斂于1.73205。感想:通過本上機(jī)題,了解到用Newton法求多根方程的根時(shí),迭代序列收斂于某一個(gè)根有一定的區(qū)間限制。如果不清楚這個(gè)限制隨意取值的話,會(huì)出現(xiàn)在一個(gè)區(qū)間上局部收斂于不同的根的情況。如下面的迭代:第三章一、題目列主元Gauss消去法對(duì)于某電路的分析,歸結(jié)為求解線性方程組。其中(1)編制解n階線性方程組的列主元高斯消去法的通用程序;(2)用所編程序線性方程組,并打印出解向量,保留5位有效數(shù);二、通用程序%%列主元Gauss消去法求解線性方程組%%%%參數(shù)輸入n=in
10、put('PleaseinputtheorderofmatrixA:n=');%輸入線性方程組階數(shù)nb=zeros(1,n);A=input('InputmatrixA(suchasa2ordermatrix:[12;3,4]):');b(1,:)=input('Inputthecolumnvectorb:');%輸入行向量bb=b';C=[A,b];%得到增廣矩陣%%列主元消去得上三角矩陣fori=1:n-1[maximum