版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数值分析上机题第一章17.(上机题)舍入误差与有效数丈宀,其精确值为2(|J=2⑴编制按从大到小的顺序SN1⑴编制按从大到小的顺序SN122-1+・32-1・+计算\的通用程序;(2)编制按从小到大的顺序Sn1(2)编制按从小到大的顺序Sn1N2-1+(N-1)2-1+・•+£'计算'的通用程序;(3)按两种顺序分别计算s,S,S,并指出有效位数(编制程序时用单精度);102104106(4)通过本上机题,你明白了什么?解:程序:(1)从大到小的顺序计算(1)从大到小的顺序计算SN11++•22-132-11N2-1functionsn1=fromlarge(n)%从大至U小计算sn1formatlong;sn1=single(0);form=2:1:nsn1=sn1+1/(m入2-1);endend(2)从小到大计算S(2)从小到大计算Sn11+N2-1(N-1)2-1122-1%%从小到大计算sn2functionsn2=fromsmall(n)formatlong;sn2=single(0);form=n:-1:2sn2=sn2+1/(m入2-1);endend(3)总的编程程序为:functionp203()clearallformatlong;n=input('pleaseenteranumberasthen:')sn=1/2*(3/2-1/n-1/(n+1));%精确值为snfprintf('精确值为%f\n',sn);sn1=fromlarge(n);fprintf('从大到小计算的值为%f\n',sn1);sn2=fromsmall(n);fprintf('从小到大计算的值为%f\n',sn2);functionsn1=fromlarge(n)%从大至U小计算sn1formatlong;sn1=single(0);form=2:1:nsn1=sn1+1/(m入2-1);endendfunctionsn2=fromsmall(n)%从小至大计算sn2formatlong;sn2=single(0);form=n:-1:2sn2=sn2+1/(m入2-1);endendend运行结果:ComiirniariidWfndow»p203pleaseenteranumberasthen:1e2n-LOO精确值药0.740050甌犬到小计算的值拘①710049就小到丈计算的值尙0.740050»p203pleaseenteranumber汪吕then:1e4n=10000精确值为久749000就丈到小计算的值術0.749852甌小到大计算的值为①749900»p203pleaseenteranumbera吕then:n=1000000精确值^0.749999M犬到小计算的值为0.749S52从小到犬计算的值为0-749999从而可以得到N值真值顺序值有效位数1020.740050从大到小0.7400495从小到大0.74005061040.749900从大到小0.7498523从小到大0.74990061060.749999从大到小0.7498523从小到大0.7499996(4)感想:通过本上机题,我明白了,从小到大计算数值的精确位数比较高而且与真值较为接近,而从大到小计算数值的精确位数比较低。机器数在进行加法运算时,用从大到小的顺序容易出现大数吃小数的情况,容易产生较大的误差,是因为对于相加的两个数值,计算机首先提供与大数相一致的位数,此时将小数的尾数向右移位,并进行四舍五入,之后对尾数进行依次相加。从大到小时,越往后计算,相加的数越小,从而出现大数吃小数的情况。相比之下。从小到大计算时,每次小数与大数相加,都会增加位数,从而精确度比较高。第二章20.(上机题)Newton迭代法给定初值x及容许误差8,编制Newton法解方程f(x)=0根的通用程序。0给定方程f(x)二X3/3-x,易知其有三个根X:=—鳥,x;=o,x;=<3。有Newton方法的局部收敛性可知存在6>0,当x0e(-5,5)时Newton迭代序列收敛于根x:,试确定尽可能大的5;2试取若干初始值,观察当x°e(-8,-1),(-1,-5),(-5,5),(5,1),(1,+-)时Newton序列是否收敛以及收敛于哪一个根。(3)通过本上机题,你明白了什么?解:程序先编写函数function文件:文件fx.m%定义函数f(x)functionFx=fx(x)Fx=xA3/3-x;文件dfx.m%定义导函数df(x)%functionfx=dfx(x)fx=xA2-1;接下来是具体步骤文件newton1.m求尽可能大的delta值%%课本56页计算最大delta值clearflag=1;k=1;x0=0;whileflag==1delta=k*10八-6;xO=delta;k=k+1;m=0;flag1=1;whileflag1==1&&m<=10A3x1=xO-fx(xO)/dfx(xO);ifabs(x1-x0)<10A-6flag1=0;endm=m+1;x0=x1;endifflag1==1||abs(x0)>=10^-6flag=0;endendfprintf('%f\n',delta);文件newton2.m求方程的根%%课本56页newton法求方程的根,确定收敛于哪个根formatlong;ef=1e-6;k=0;xO=input('pleaseentertheinitialnumberasthex0:');whilek<1000x1=x0-fx(x0)/dfx(x0);ifabs(x1-x0)<efbreakendx0=x1;k=k+1;endfprintf('方程的根为%f\n',x0);对定買函数fk)%定义导函OdfWffi□functionFs=f^(x)Ffunctionfx=dfx-Fx=x3/3-x:|-fK=Kn2-l:
'Ec'tor-E:\rria-tIab2012\bin\newtonl.m*ile£臼丘TextG^o-CellToolsDebugoiaa船■哨呷卩由百•同厂目■目4目1.0+T-1.1X圃愿页计尊最大血Xa值clearfla-E=l:k=l:kO=0;whil亡flag==1delta=k*10"-弓;xO=delta:h=k+l;皿二0:flatl=l:whileflagl==l&&jh<=10'3xL=x0-fz(xd)/dfx(kO):i£abs''kI-kOj<10"-6flagl=O;endjn=m+l:zO=x1;endifflagl==l||abs(kO)>=10"-6flaE=0:end-end.fprintf(JSf\iiJjdeIta);2—32—3—-5—6——S—9—10—11—12—13——XG(-8,0-1)'Editor-E:\m3tlab2015\binXnewton2FileEditT&xtGoCellToolsDebugDesktopWindowHelp■Dafl備•■確B-0■目厂目1■目d目1.0+T1丄X團0|Q1般谡本56页n亡wtcm法求方程的根,确定收做于哪个根formatlong;ef=le-6;k=0;xO=input(Jpleas?entertheinit:LalumberasthexO:J5:E]whilek-x1000Kl=sO-fK(iCI)/dfz(xO);ifabs^kI-kC1)<efbreaksridk0=k1:k=k+l;endfprintf(J方程的根为:Sf'.njkO);(2)运行结果①求尽可能大的delta值CommandWindowA0.7newtnnl74597②判断收敛于哪个根。已知有三个根,X:=-<3,x;=o,x;*3。(-1,-5),(-8,5),(8,1),(1,+8)CommandWindow>>newton2pleaseenterth亡initialrumfb亡工asthexO:-LOOO方程的根为:1-732051>>newton2pleaseeniextheinliialnujutexa吕thee0:-50方程的根为:-1.732051>>newton2pleaseenterthsinitialnmuterastliekO:-LO方程的棍対;-1-732051》》newton2pleaseenterthe?initialiiujnberasthex0:-3方程的根为:-1-V32051收敛于X:=73X0G(-1,-6)CommandWindow>>ne¥ton2pleaseentertheinitialnumber方程的棍拘;1.732051>>nevton2pleaseentertheinitialnumber方程的根芮:1.7320E1>>nevton2pleaseentertheinitialnumber方程的根対:1.732051>>nevton2pleaseentertheinitialnunber方程的根対;-1.732051》》nevion2pleaseenterthemitialnunber方程的根为:-1.732051asthe;k0:-0.99asth亡xO:-0.9asthekO;-0.35asth&kO:-0.8asthexO:-0.78可见部分收敛于x:,部分收敛于x;。xg(-8,8)oCommandWindow>>newton2pleaseenter"theinitialnumber方程的根冏:-o.000000>>newtan2pleaseent&rtheinitialnumber方程的根掏:-o.000000》》newton2pleaseentertheinitialriumber方程的根为:0.000000>>newton2pleaseentertheinitialnumber方程的根为:0.000000asthek0.77asthek0:-0.7asthexO:~0.6asthek0:-0・500CommandWindownevton2pleaseeiLleitheLuiLi:dlillbiiIjel呂已方程的根为:-«COOOO»>>nevton2pleaseentertheinitialnumbera吕方程的根対:-0.000003»neurton2plaa.seenter"theinitialnmberas方程的根拘;0.000000》》nevton2pleaseentertheinitialnumberas方程的根为:0.000000>>nevton2pleaseentertheinitialnumbera吕方程的根为:0.000000>>nevton2plea.seentertheinitialnmberas方程的根拘;-ft.000000ixe-Mrten2pleaseentertheinitialnumberas方程的根为:0-000000LIlkx0:-0.2thez0:-0.1thek0:0thexO:0.11thex0:0.2thek0:0.5thexO:0.可见,收敛于x;=0。(5,1)CommandWindow>>newton2pleaseentertheinitialnmnber方程的根为:1.732051>>newton2pleaseenterthuinitialnmuber方程的根为:1.732051>>nevton2pleaseentertheinii:ialnrnifber方程的根^]:-1.732051》》newton2pleaseentertheinitialmunter方程的根为:1.732051>>newton2pleaseenterthemitialnmalzier方程的根为:-1.732051》》newton2pleaseentertheinitialniunloer方程的棍为:1.732K1>>newton2pleaseentertheinitialnujaLer方程的根药:-1-732051a呂thek0:0.78asthek0:0・@asthekO:0.8EasthexO:0.87astliekO:0.9asthekO:0.95asthexO:0.99可见部分收敛于x:,部分收敛于x;。(1,8)CommandWiridoiv>>newton2pleaseent&rtheinitialntmb&r方程的根対;1.732051》》newton2pleaseentertheinitialnujnber方程的根为:1-732051pleaseent&rtheinitialntmb&r方程的根対;1.732051》》newton2pleaseentertheinitialnujnber方程的根为:1-732051>>newton2pleaseenterIheinitialnumber方程的根为:1.732051>>newton2pleaseent&rtheinitialntmb&r方程的棍拘;1.732051>>newton2pleaseentertheinitialnumber方程的根为:1.732051>>newton2pleaseenter"theinitialnujnber方程的根为:1.732051》》newton2pleaseentertheinitialnumber方程的根为:1.732051A»asthekO:1.1asthexO:2asthexO;5asthe70:10asth亡xO:50a.sthekO:100asthekO:1000收敛于x3(3)感想:通过自行编写NEWTON的程序,加深了我对于NEWTON迭代法具体的运行方式、结果、利弊的了解。在不同的区间上,根据给定的x0的不同,x会以不同的速度收敛于某个根,也会产生意想不到的跳动,如在(1,8)区间是。因此给定初值的重要性很大,即在某些区间上,收敛于某个根是由一定限制的,要取得合适的初值,才能够正确地求得收敛的根。总体上来说,通过上机,巩固学习了第二章关于迭代的运用。第三章39•列主元Gauss消去法
对于某电路的分析,归对于某电路的分析,归结为‘31-13000-10-1335-90-1100-931-100000-1079-300R=000-3057-70000-74700000-300000-50<000-900求解线性方程组RI二V。其中000、00000000-90-50-30004100027-20-229丿Vt=(-15,27,-23,0,-20,12,-7,7,10)T编制解n阶线性方程组Ax二b的列主元高斯消去法的通用程序;用所编程序线性方程组RI二V,并打印出解向量,保留5位有效数;(3)本章编程之中,你提高了哪些编程能力?解:程序Gauss函数的function程序%用列主元Gauss消去法求解线性方程组Ax=bfunction[x]=gauss1(A,b)n=length(b);fork=1:na=max(A(k:n,k));[pm]=find(A(:,k)==a);ifp>kA([p,k],:)=A([k,p],:);b([p,k],:)=b([k,p],:);endm=A(k+1:n,k)/A(k,k);A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-m*A(k,k+1:n);b(k+1:n)=b(k+1:n)-m*b(k);A(k+1:n,k)=zeros(n-k,1);endx=zeros(n,1);x(n)=b(n)/A(n,n);fori=n-1:-1:1m=0;fork=i+1:1:nm=m+A(i,k)*x(k);endx(i)=(b(i)-m)/A(i,i);endend下面是主程序的m文件%%课本127页用列主元gauss消去法求解方程clearR=[31-13000-10000;-1335-90-11000;00-931-100000;000-1079-30000-9;000-3057-70-50;0000-747-3000;00000-304100;0000-50027-2;000-9000-229];V=[-15;27;-23;0;-20;12;-7;7;10];I=gauss1(R,V);I'Editor-'Editor-E:\m3tlab2012\bin\gaussl.rnj■DSB'+L=J「曰_目4目1.0+-r1.1X圖R劉1越FileEditT&xtGoCellTools■DSB'+L=J「曰_目4目1.0+-r1.1X圖R劉1越FileEditT&xtGoCellToolsDebugDesktopWindov1为用列主元Gauss消去法求解绞性方程组Ax二t23-1—--8-9-10-11-12---1E-function[s]=gauss1(Ajb)n=length.Cb);foxk=l:na=ma3f(A(k:ri,,k)):[pui]ind(A(;j:ifpXkA([pjk]j:)=A([kjp]-,:kb([pjk]j:)=bf[]£佰h:):endm=A(k-l-l:rijk)/A(k?k);A(k+1:i\,k十1:n)=A(k-i-lk+1:n)—皿水盛(k,k+1:n);b(k+l:n)=b(k+l:n)—m*b(kJ;A(k+1:n,,k)=zeros(n-k^1〕:16-17-IS---21-22----K=2eros(n』1〕;i(n>b(n)/A(m,n);fori=n-1:-1:1m=0:fork=i+l:L:nm=ji+A•'k)(k):endz(i)=Cb/A(.i}i):fEditor-E:\matlab2012\bin\gauss.m]FileEditTextGoCellToolsDebugWindowHelpn爲■詹町c1©兮▼鼻・*他叵1▼档爛*S-tack:Base▼卡因厂回_r=i*目1.0+1,1XIIS史|良endend融课本12;■页用列主元jgau吕吕消去法求解方程clearR=[31-13000-1000;-1335-90V=[-15:27:-23:0:-20:12:-7:7:10]I=gaus31汎¥);I(2)运行结果CommandWindowgauss-0.289230.34644-0.71281-0.220^1-0.43040.15431-0.0578230.20L050.29023fiiA感想:本次上机重点学习了列主元GUASS消去法的应用。列主元GUASS消去法在进行第K步消元前,先选出位于第K列中位于对角线及其以下元素绝对值中的最大者,然后将他们互相交换,在进行接下来的一般消元过程。较少了误差,而且一般保证舍入误差不增加,基本上是稳定的。通过上机程序设计,加深了对该方法的了解,对于矩阵、编程的了解也更深入。第四章37•三次样条插值函数编制求第一型3次样条插值函数的通用程序已知汽车门曲线型值点的数据如下i012345678910xi012345678910yi2.513.304.044.705.225.545.785.405.575.705.80端点条件为y,=0.8,y,=0.2,用所编程序求出门的三次样条差值函数S(x),打印出010S(i+0.5),i=1,2,'、'9。(1)程序(n是x的总个数)%%样条插值函数clearclc%%输入相关参数xi,yin=input('enterthen:');%%输入X的总个数xn=zeros(1,n);yn=zeros(1,n);xn(1,:)=input('enterthex:');yn(1,:)=input('enterthey:');%%求人,mu,lambda,d值d=zeros(n,1);h=zeros(1,n-1);mu=zeros(1,n-2);%%lambda=zeros(1,n-2);f1=zeros(1,n-1);%%一阶导数f2=zeros(1,n-2);%%二阶导数dy0=input('enterthevalueofdy0:');dyn=input('enterthevalueofdyn:');fori=1:n-1h(i)=xn(i+1)-xn(i);f1(i)=(yn(i+1)-yn(i))/h(i);endfori=1:n-2mu(i)=h(i)/(h(i)+h(i+1));lambda(i)=1-mu(i);endd(1)=6*(f1(1)-dy0)/h(1);d(n)=6*(dyn-f1(n-1))/h(n-1);fori=2:n-1f2(i)=(f1(i)-f1(i-1))/(xn(i+1)-xn(i-1));d(i)=6*f2(i);endA=zeros(n);A(1,2)=1;A(n,n-1)=1;fori=1:nA(i,i)=2;endfori=2;n-1A(i,i-1)=mu(i-1);A(i,i+1)=lambda(i-1);endM=A\d;%%回代求插值函数symsx;disp('sn(x)=')%%sn(i)的表达式sn(i)仅是关于x的函数值fori=1:n-1sn(i)=collect(yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i))*(x-xn(i))+M(i)/2*(x-xn(i))A2+(M(i+1)-M(i))/(6*h(i))*(x-xn(i))A3);sn(i)=vpa(sn(i),4);fprintf'sn(%d)=%s,%djUxn;U%d\n',i,char(sn(i)),xn(i),xn(i+1));enddisp('s(i+0.5)');%%计算在i+0.5处的插值disp('ix(i+0.5)s(i+0.5)'fori=1:n-1t=xn(i)+0.5;s(i)=yn(i)+(f1(i)_(M(i)/3+M(i+1)/6)*h(i))*(t_xn(i))+M(i)/2*(t_xn(i))入2+(M(i+1)-M(i))/(6*h(i))*(t_xn(i))入3;fprintf'%d%.4f%.4f,i,xn(i)+0.5,s(i));end程序截图1■1丄21〒11〒11-L1夭1逊1世孑般算築插值函数cl◎盈cle;叢输入相关参数只站打;-n=input(Jenterthen:J):熾输入M的总个埶■-Kn=zei:os(ljn);'-yn=2Eros(1^ti):i-kh(lj:)=inputCenterthu釜;i-yn:)=inputCenterth&y:J):i般求1%urn』lambdijti值d=zeros(n:1〕:!-h=zeros(1』11一1):I—Jim=2eros(15n-2):%%:-lambda=zero3(13n-2):;一f1二hhom(Jn-1.);般一阶导数>-f2二兀匸皿⑴口-?);坯二阶导数'—dyO=input■'renterthevalueofdy1.1:7};t-dyn=inputenterthevalueofdyn:J;i—Qfori=1:n-1i-h(i)=yn(i+l)-xn(i):f1(i)=(yn(i+l)-yn(i):!-Lend:-Sfoxi=l:n-2;-lambda(i)=1-11111(i):.-Lend--d(1.)=6*(fl(l)-dyO)Zh(l);:-d(n^=6*(dyn-f1Cn-0Vh(n-1):i-Hfori=3;n-1i-£2(i)=(f1(i)-f1(i-1))/):
end.A=zeros(n);A(L2)=1:3132333435363736394041424344454647拥49SCSI52535455565758A(nja-l)=l;i=l:nAiii=2:|i=Z:;n-lA(i,i-l)=»u(i-l1:A(iji+1)-1ambdsi(i-1),M=A\d:册i回代求插值匡数symsK;dispfsn)瓣snQ的克这戒.迄意snfi)仮是关于x的函数值fn(i)]'2+Ql(i+1)-M[i))/)*(jrm(ifn(i)]'2+Ql(i+1)-M[i))/)*(jrm(i)I):fprintf(Jsn(!Kd)=363』3i」char(eh(i))』zn(i)j:m(i+1));enddispfs(i+0.5)J):瓣计箪在i+0.5处的插值disp(Jis(i+0.5)s(i-i-0.5)J)(M(i+])-M(i))/(6*hLi))(M(i+])-M(i))/(6*hLi)))"3;3(i)=yn(i)+(f1(i)-(H(i)/3+M(i+1)/6)*h(i)=*(t-m(i))+J[(i)/2*(t-xn(i))"2+-fprmtfCSdIf%.4f\n".ijXn(i)+3.55s(i));Lend运行结果entertheentertheentertheenter■theenterthen:11k:[0123456733y:[2.513.304.044.70valueofdyQ:0.5valueofdyn:0.210]5.225.545.7S6.405.675.70E.80]S(x)-0.5181*x^2-0.2281*x^3+0.5*x+2.51(0,1)乩睜3辦"3-0.3294組"24-1.348*s+2.227(1,2)0.1134*x^2-CL01942*工":3+0.4618*k-+2.818(2^3)0.268S*x^2-0.O367*k^3-0.00466*x斗3.284(3,4)0.1062*x^3-1.446#x"2+6.855*x-5.862(4,5)4.拧畑"2-0.2682^x^3-21.22*x+40.94⑸6)0.4265*x^3-8.334*k'2+53.8*k-109.1⑹7)6.247^^2-0.2673^3-48.27*k4129.0(7,8)0.05487*x''3-1.498畑"2+13.69#x-36.18C8,9)0.OSSSS^x^-1.593*x^2+14.55*x-38.74t9,10)St'i+O.5)ik(i+0.5)S(i+0.5)10.50002.861021.50003.691232.50004.378143.50004.989154.50005.383065.50005.7238—\6.50005.594487.50005.429998.50005.6598109.50005.7323感想:三次样条插值是在每个小区间上分别建立样条函数,加上插值条件和连接条件,在整个区间上成立插值函数,大大提高了插值函数的精度。由于尽在节点处,函数值相等,故在别的数值处,存在误差。通过上机编程,加深了对于三次样条插值函数的了解,同时也了解了其他多项式插值与函数最佳逼近,更对以后的学习、工作有帮助。第八章23•常微分方程初值问题数值解(1)编制RK4方法的通用程序
编制AB4方法的通用程序(由RK4提供初值)编制AB4-RK4预测校正方法通用程序(由RK4提供初值)编制带改进的AB4-RK4预测校正方法通用程序(由RK4提供初值)对于初值问题y'=-x2y2(0WxW1.5)y(o)=3取步长h=0.1,应用(1)~(4)的四种方法进行计算,并将结果和精确解y(x)=3/(1+x?)作比较(5)通过本上机题,你得到哪些结论解:⑴程序①RK4方法的通用程序%RX4方絃的通廨程序%f-窗数旬摑%/[!=[xlrx2J-求解范圉%yD-初值%E-计算歩上£imction[xryj=E?K4{£fxOfyttjli)x=[kO(1}:h:xO^2)]Tjy=Ee-ros(Leng七{1};y(1)=y£);fori=1:Length(x)-1kl=£{«(!}y[i)+h*k3);k2=f(K(i)+l/2*h;把3=£^{i)+l/2*hz]c4=f(K(i)+h.y[i)+h*k3);y(i+1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血液透析-适应症与禁忌症
- 护理专业中的营养支持与护理
- 2026六年级数学下册 百分数全面发展
- 床上洗头护理的未来趋势
- 志愿者领队责任制度汇编
- 惠农补贴一卡通责任制度
- 托育安全责任制度
- 扬尘防治污染责任制度
- 技术管理室责任制度
- 护士站岗位责任制度范本
- 党的二十届四中全会学习试题
- 通信建设项目管理
- 血液透析合并心力衰竭患者的护理要点
- 2026年陕西青年职业学院单招职业技能测试题库必考题
- 2025年黑龙江单招真题卷全套
- 2026年沙洲职业工学院单招职业技能考试必刷测试卷及答案1套
- 2025年小学四年级下学期语文基础知识专项训练试卷(含答案)
- 2026上海电力股份有限公司校园招聘笔试备考题库及答案解析
- 光伏施工安全培训内容课件
- 农业经理人(高级)技能认证考试复习题及答案
- (2025)辐射安全与防护培训考试试题(含答案)
评论
0/150
提交评论