东南大学《数值分析》上机题_第1页
东南大学《数值分析》上机题_第2页
东南大学《数值分析》上机题_第3页
东南大学《数值分析》上机题_第4页
东南大学《数值分析》上机题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值分析上机题1,其精确值为始十七(1)编制按从大到小的顺序与=¥匕+舌++,■},计算S,V的通用程序。(2)编制按从小到大的顺序Sn=—J」;),J+白,计算Sn的通用程序。(3)按两种顺序分别计算S”,S©,S1()6,并指出有效位数。(编制程序时用单精度)(4)通过本上机题,你明白了什么?程序代码(matlab编程):clccleara=single(1./([2:10A7].A2-l));SI(1)=single(0);SI(2)=1/(2A2-1);forN=3:10A2SI(N)=a(l);fori=2:N-lSI(N)=S1(N)+a(i);endendS2(1)=single(0);S2(2)=1/(2A2-1);forN=3:10A2S2(N)=a(N-l);fori=linspace(N-2,1rN-2)S2(N)=S2(N)+a(i);endendSI表示按从大到小的顺序的SnS2表示按从小到大的顺序的Sn计算结果从大到小的顺序的值从小到大的顺序的值精确值有效位数从大到小从小到大0.7400490.740050.74004965%0.7498520.74990.749944%0.7498520.7499990.74999936通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确习题623.(上机题)常微分方程初值问题数值解(1)编制R&方法的通用程序;(2)编制AB4方法的通用程序(由RK4提供初值);(3)编制AB4-AM4预测校正方法的通用程序(由R&提供初值);(4)编制带改进的AB4-AM4预测校正方法的通用程序(由R&提供初值);(5)对于初值问题= (0<x<1.5)*0)=3取步长丸=。1,应用(1)〜(4)中的四种方法进行计算,并将计算结果和精确解y(x)=3/(1+/)作比较;(6)通过本上机题,你能得到哪些结论?程序:clcclear%%Originalquestionf=inline('-x*x*y*yl'x','y');y0=3;h=0.1;xstr=0;xend=l.5;x=xstr:h:xend;yx=3./(l+x.A3);n=size(x,2);%%RK4methodRK4y(l)=yO;fori=l:n-1kl=f(x(i),RK4y(i));k2=f(x(i)+h/2,RK4y(i)+h/2*kl);k3=f(x(i)+h/2,RK4y(i)4-h/2*k2);k4=f(x(i)+h,RK4y(i)+h*k3);RK4y(i+l)=RK4y(i)+h/6*(kl+2*k2+2*k3+k4);end%%AB4methodAB4y(l:4)=RK4y(1:4);fori=4:n-1AB4y(i+l)=AB4y(i)+h/24*(55*f(x(i),AB4y(i))-59*f(x(i-1),AB4y(i-1))+37(x(i-2),AB4y(i-2))-9*f(x(i-3),AB4y(i-3)));end%%AB4-AM4predictivemethodBM4y(l:4)=RK4y(1:4);fori=4:n-1yp(i+1)=BM4y(i)+h/24*(55*f(x(i),BM4y(i))-59*f(x(i-1)rBM4y(i-1))+37*f(x(i-2)zBM4y(i-2))-9*f(x(i-3),BM4y(i-3)));BM4y(i+1)=BM4y(i)+h/24*(9*f(x(i+l),yp(i+1))+19*f(x(i),BM4y(i))-5*f(x(i-1)zBM4y(i-1))+f(x(i-2)zBM4y(i-2)));end%%ImprovedAB4-AM4predictivemethodimprBM4y(1:4)=RK4y(1:4);fori=4:n-1yP(i+1)=imprBM4y(i)+h/24*(55*f(x(i),imprBM4y(i))-59*f(x(i-1),imprBM4y(i-1))+37*f(x(i-2),imprBM4y(i-2))-9*f(x(i-3)rimprBM4y(i-3)));yc(i+1)=imprBM4y⑴+h/24*(9*f(x(i+1),yP(i+l))+19*f(x(i),imprBM4y(i))-5*f(x(i-1),imprBM4y(i-1))+f(x(i-2),imprBM4y(i-2)));imprBM4y(i+l)=251/270*yc(i+l)+19/270*yP(i+l);end%%Errorerror(1:4f1:n)=abs([yx-RK4y;yx-AB4y;yx-BM4y;yx-imprBM4y]);计算结果:x(k)y(x) RK4方法误差 AB4方法 误差ab4—am4误差带改进ab4—am4误差1 03 30 30303 02 0.12.997003 2.9970031.87E-07 2.9970031.87E-072.9970031.87E-072.997003 1.87E-073 0.22.97619 2.976193.92E-07 2.976193.92E-072.976193.92E-072.97619 3.92E-074 ().32.92113 2.9211297.58E-07 2.9211297.58E-072.9211297.58E-072.921129 7.58E-075 0.42.819549 2.8195471.61E-06 2.8183890.001162.8196780.000132.819588 3.88E-056 0.52.666667 2.6666633.18E-06 2.6646720.0019942.6668760.0002092.666713 4.62E-057 0.62.467105 2.46715.01E-06 2.4652030.0019032.4672520.0001472.467097 8.23E-068 0.72.233805 2.2337995.77E-06 2.2330790.0007262.2337317.35E-052.233682 ().0001229 ().81.984127 1.9841234.13E-06 1.9849510.0()08241.9837870.0()0341.983885 0.0()()24210 0.91.735107 1.7351071.16E-07 1.7370430.0019361.7346070.00051.734808 0.0002991111.5 1.5000065.81E-06 1.5021950.0021951.4995160.0004841.499732 0.00026812 1.11.287001 1.2870131.13E-05 1.2887630.0017621.2866570.0003441.286821 0.00018113 1.21.099707 1.0997221.54E-05 1.1007240.0010171.0995330.0001741.099622 8.50E-0514 1.30.93838 0.9383971.77E-05 0.93871().0003310.9383433.72E-050.938367 1.24E-0515 1.40.801282 0.80131.84E-05 0.8011350.0001470.8013274.53E-05().801311 2.93E-0516 1.50.685714 0.6857321.78E-05 0.6853350.000380.6857968.18E-050.68576 4.62E-05结论:带改进的AB4-AM4预测校正方法比AB4-AM4预测校正方法精度更高,AB4方法精度最低,RK4方法的精度最高值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。数值分析上机题220.(上机题)Newton迭代法(1)给定初值/及容许误差£,编制Newton法解方程/。)=0根的通用程序。(2)给定方程/(x)=d/3—x=。,易知其有三个根耳=—JL芯=0,匕=百。.由Newton方法的局部收敛性可知存在5>0,当/£(一夕5)时,Newton迭代序列收敛于根石。试确定尽可能大的3。.试取若干初始值,观察当公£(—8,7),(T—2),(-5,6),(氏1),(l,oo)时Newton序列是否收敛以及收敛于哪一个根。MATLAB程序问题1clccleardx=0.5;x(1)=0.5;while(dx>le-6)i=l;error=l;while(error>le-8)x(i+1)=x(i)-(l/3*x(i)A3-x(i))/(x(i)A2-l);error=abs(x(i+1)-x(i));i=i+l;endif(x(i)==0)x(1)=x(1)+dx;elsedx=dx/2;x(1)=x(1)-dx;endend经计算,最大的g为0.774596问题2clcclearx2(1)=lel4;i=l;error=l;while(error>le-8)x2(i+l)=x2(i)-(l/3*x2(i)"3-x2(i))/(x2(i)A2-l);error=abs(x2(i+1)-x2(i));i=i+l;if(i>le4)breakendend对于不同得初始值收敛于不同的根,/在(-8,j)内收敛于-在(-0.774,0.774)内收敛于0,在(1,+8)内收敛于百,但在内(0.774,1)和(-1,0.774)均可能收敛于—6和。分析:对于不同的初值,迭代序列会收敛于不同的根,所以在某个区间内求根对于初值的选取有很大的关系。产生上述结果的原因是区间不满足大范围收敛的条件。数值分析上机题339.(上机题)列主元三角分解法对于某电路的分析,归结为求解线性方程组RI=V。(1)编制解n阶线性方程组Ax=b的列主元三角分解法的通用程序;(2)用所编制的程序解线性方程组RI=V,并打印出解向量,保留五位有效数;(3)本编程之中,你提高了哪些编程能力?程序:clcclearA=[31,-13,0,0,0,-10,0,0,0-13,35,-9,0,0,0,0,00,-9,31,-10,0,0,0,0,00,0,-10,79,-30,0,0,0,-90,0,0,-30,57,-7,0,-5,00,0,0,0,-7,47,-30,0,00,0,0,0,0,-30,41,0,00f0,0r0r-5,0r0,27,-20r0r0,-9,0r0,0,-2,29];b=[-工5,27,-23,0,-20,12,-7,7,10],[m,n]=size(A);Ap=[A,b];x=zeros(n,1);fori=l:m-l,•[maxaAmaxi]=max(abs(Ap(i:end,j)));maxi=maxi+i-l;if(maxa〜=0)mid=Ap(maxi,:);Ap(maxi,:)=Ap(i,:);Ap(i,:)=mid;fork=i:mAp(i+1:m,:)=Ap(i+1:m,:)-Ap(i+1:mrj)*(Ap(i,:)./maxa);endendendfori=linspace(m,1,m)x(i)=(Ap(i,end)-Ap(i,1:end-1)*x)/Ap(i,i);end结果:方程的解为(保留5位有效数字):xl=-0.28923,x2=0.34544,x3=-0.71281,x4=-0.22061,x5=-0.43040,x6=0.15431,x7=-0.057823,x8=0.20105,x9=0.29023。习题4巧0123456789102.513.304.044.705.225.545.785.405.575.705.80编制求第一型3次样条插值函数的通用程序;已知汽车曲线型值点的数据如下:37.(上机题)编制求第一型3次样条插值函数的通用程序;已知汽车曲线型值点的数据如下:端点条件为),o=O.8,%。二0.2。用所编制程序求车门的3次样条插值函数S(x),并打印出S(i+O.5)(i=0,1,-9)o程序:(1)clcclear%%x=[0,1,2,3,4,5,6,7,8,9,10];y=[2.51,3.30,4.04,4.7,5.22z5.54,5.78,5.40,5.57,5.70,5.80];yl=0.8;yend=0.2;%%n=size(x,2)-1;h=x(2:end)-x(1:end-1);miu=h(1:end-1)./(h(1:end-1)+h(2:end));lamda=l-miu;f1=[yl,(y(2:end)-y(1:end-1))./h,yend];%f[xn-1,xn]f2=[fl(2:end)-fl(1:end-1)]./[h(l),h(l:end-1)+h(2:end),h(end)];%f[xn-1,xn,xn+1]A=2,*eye(n+1);A(2:end,1:end-1)=A(2:end,1:end-1)+diag([miu,1]1);A(1:end-1z2:end)=A(1:end-1,2:end)+diag([1,lamda]');M=A\(6*f21);Sx=[y(1:end-1)1,((y(2:end)-y(1:end-1))./h),-((1/3*M(1:end-1)+l/6*M(2:end)).*hf),1/2*M(1:end-l),1/6*(M(2:end)-M(l:end-l))./h1];%%xx=input('x=');forj=2:n+lifxx<x(j)S=Sx(j-1,:)*[1,xx-x(j-1)z(xx-x(j-1))A2,(xx-x(j-1))^3]1;breakendendclcclcclear%%x=[0,1,2,3,4,5,6,7,8,9,10];y=[2.51,3.30,4.04,4.7,5.22z5.54,5.78,5.40,5.57,5.70,5.80];yl=0.8;yend=0.2;%%n=size(xz2)-1;h=x(2:end)-x(1:end-1);miu=h(1:end-1)./(h(1:end-1)+h(2:end));lamda=l-miu;f1=[yl,(y(2:end)-y(1:end-1))./h,yend];%f[xn-1,xn]f2=[fl(2:end)-fl(1:end-1)]./[h(l),h(l:end-1)+h(2:end),h(end)];%f[xn-1,xn,xn+1]A=2.*eye(n+1);A(2:end,1:end-1)=A(2:end,1:end-1)+diag([miu,1],);A(1:end-1z2:end)=A(1:end-1z2:end)+diag([1,lamda]');M=A\(6*f21);Sx=[y(1:end-1)1z((y(2:end)-y(1:end-1))./h)1-((1/3*M(1:end-1)+l/6*M(2:end)).),1/2*M(1:end-l),1/6*(M(2:end)-M(l:end-1))./h1];%%fori=0:9xx=i+0.5;forj=2:n+1ifxx<x(j)S(i4-l)=Sx(j-l,:)*[l,xx-x(j-l),(xx-x(j-l))A2Z(xx-x(j-l))A3]f;breakendendendxe[0,1]时;2一0.00851395x3x£[1,2]时;S(x)=3.3+0.771486(x-1)-0.027028(x-1)2-0.00445799(x-1)3xe[2,3]时;S(x)=4.04+0.704056(x-2)-0.0404019(x-2)2-0.0036543(x-2)3xe[3,4]时;S(x)=4.7+0.612289(x-3)-0.0513648(x-3)2-0.0409245(x-3)3x£[4,5]时;S(x)=5.22+0.386786(x-4)-0.174138(x-4)2+0.107352(x-4)3x£[5,6]时;S(x)=5.54+0.360567(x-5)+0.147919(x-5)2-0.268485(x-5)3xe[6,7]时;S(x)=5.78-0.14905l(x-6)-0.657537(x-6)2+0.426588(x-6)3xe[7,8]时;S(x)=5.4-0.18436l(x-7)+0.622227(x-7)2-0.267865(x-7)3xe[8,9]时;S(x)=5.57+0.256496(x-8)-0.181369(x-8)2+0.0548728(x-8)3xe[9,l0]时;S(x)=5.7+0.058376(x-9)-0.0167508(x-9)2+0.0583752(x-9)3S(0.5>2.90856 S(l.5)=3.67843 S(2.5)=4.38147S(3.5)=4.98819 S(4.5)=5.38328 S(5.5)=5.7237S(6.5)=5.59441 S(7.5)=5.42989 S(8.5)=5.65976S(9.5)=5.7323习题五重积分的计算23(上机题)重积分的计算题目:给定积分/(/)=1(,/(x,y)dx)dy。取初始步长h和k,及精度£。应用复化梯形公式,采用逐次二分步长的方法,编制计算I⑴的通用程序。计算至相邻两次近似值之差的绝对值不超过£为止。1)用所编程序计算积分/(7)=『(『火,+p2)公)力,取£=0.5*10-5。程序:clcclear%%examplef=inline(!tan(x.人2+y.人2),,,x,,,y。;a=0;b=pi/3;c=0;d=pi/6;%%define

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论