《东南大学《数值分析》上机题(10页).doc》由会员分享,可在线阅读,更多相关《东南大学《数值分析》上机题(10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-东南大学数值分析上机题-第 10 页数值分析上机题1设,其精确值为。(1)编制按从大到小的顺序,计算的通用程序。(2)编制按从小到大的顺序,计算的通用程序。(3)按两种顺序分别计算,并指出有效位数。(编制程序时用单精度)(4)通过本上机题,你明白了什么?程序代码(matlab编程):clccleara=single(1./(2:107.2-1);S1(1)=single(0);S1(2)=1/(22-1);for N=3:102 S1(N)=a(1); for i=2:N-1 S1(N)=S1(N)+a(i); endendS2(1)=single(0);S2(2)=1/(22-1);for
2、 N=3:102 S2(N)=a(N-1); for i=linspace(N-2,1,N-2) S2(N)=S2(N)+a(i); endendS1表示按从大到小的顺序的SNS2表示按从小到大的顺序的SN计算结果从大到小的顺序的值从小到大的顺序的值精确值有效位数从大到小从小到大0.7400490.740050.740049650.7498520.74990.7499440.7498520.7499990.74999936通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有
3、效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。数值分析上机题220(上机题)Newton迭代法(1)给定初值及容许误差,编制Newton法解方程根的通用程序。(2)给定方程,易知其有三个根,。1由Newton方法的局部收敛性可知存在,当时,Newton迭代序列收敛于根。试确定尽可能大的。2试取若干初始值,观察当,时Newton序列是否收敛以及收敛于哪一个根。MATLAB程序问题1clccleardx=0.5;x(1)=0.5;while(dx1e-6)i=1;error
4、=1;while (error1e-8) x(i+1)=x(i)-(1/3*x(i)3-x(i)/(x(i)2-1); error=abs(x(i+1)-x(i); i=i+1;endif(x(i)=0) x(1)=x(1)+dx;else dx=dx/2; x(1)=x(1)-dx;endend经计算,最大的为0.774596问题2clcclearx2(1)=1e14;i=1;error=1;while (error1e-8) x2(i+1)=x2(i)-(1/3*x2(i)3-x2(i)/(x2(i)2-1); error=abs(x2(i+1)-x2(i); i=i+1; if(i1e4
5、) break endend对于不同得初始值收敛于不同的根, 在(-,-1)内收敛于,在(-0.774,0.774)内收敛于0,在(1,+)内收敛于,但在内(0.774,1)和(1,0.774)均可能收敛于和。分析:对于不同的初值,迭代序列会收敛于不同的根,所以在某个区间内求根对于初值的选取有很大的关系。产生上述结果的原因是区间不满足大范围收敛的条件。数值分析上机题339(上机题)列主元三角分解法对于某电路的分析,归结为求解线性方程组RI=V。(1)编制解n阶线性方程组Ax=b的列主元三角分解法的通用程序;(2)用所编制的程序解线性方程组RI=V,并打印出解向量,保留五位有效数;(3)本编程之
6、中,你提高了哪些编程能力?程序:clcclearA=31,-13,0,0,0,-10,0,0,0 -13,35,-9,0,-11,0,0,0,0 0,-9,31,-10,0,0,0,0,0 0,0,-10,79,-30,0,0,0,-9 0,0,0,-30,57,-7,0,-5,0 0,0,0,0,-7,47,-30,0,0 0,0,0,0,0,-30,41,0,0 0,0,0,0,-5,0,0,27,-2 0,0,0,-9,0,0,0,-2,29;b=-15,27,-23,0,-20,12,-7,7,10;m,n=size(A);Ap=A,b;x=zeros(n,1);for i=1:m-1
7、 j=i; maxa,maxi=max(abs(Ap(i:end,j); maxi=maxi+i-1; if(maxa=0) mid=Ap(maxi,:); Ap(maxi,:)=Ap(i,:); Ap(i,:)=mid; for k=i:m Ap(i+1:m,:)=Ap(i+1:m,:)-Ap(i+1:m,j)*(Ap(i,:)./maxa); end endendfor i=linspace(m,1,m) x(i)=(Ap(i,end)-Ap(i,1:end-1)*x)/Ap(i,i);end结果:方程的解为(保留5位有效数字):x1= -0.28923,x2= 0.34544,x3= -
8、0.71281,x4= -0.22061,x5= -0.43040,x6= 0.15431,x7= -0.057823,x8= 0.20105,x9= 0.29023。习题 437.(上机题)3次样条插值函数(1)编制求第一型3次样条插值函数的通用程序; (2) 已知汽车曲线型值点的数据如下:0123456789102.513.304.044.705.225.545.785.405.575.705.80端点条件为=0.8,=0.2。用所编制程序求车门的3次样条插值函数S(x),并打印出S(i+0.5)(i=0,1,9)。程序:(1)clcclearx=0,1,2,3,4,5,6,7,8,9,1
9、0;y=2.51,3.30,4.04,4.7,5.22,5.54,5.78,5.40,5.57,5.70,5.80;y1=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=1-miu;f1=y1,(y(2:end)-y(1:end-1)./h,yend;%fxn-1,xnf2=f1(2:end)-f1(1:end-1)./h(1),h(1:end-1)+h(2:end),h(end);%fxn-1,xn,xn+1A=2.*eye(n+1);A(2:end,
10、1:end-1)=A(2:end,1:end-1)+diag(miu,1);A(1:end-1,2:end)=A(1:end-1,2:end)+diag(1,lamda);M=A(6*f2);Sx=y(1:end-1),(y(2:end)-y(1:end-1)./h)-(1/3*M(1:end-1)+1/6*M(2:end).*h),1/2*M(1:end-1),1/6*(M(2:end)-M(1:end-1)./h;xx=input(x= );for j=2:n+1 if xxx(j) S=Sx(j-1,:)*1,xx-x(j-1),(xx-x(j-1)2,(xx-x(j-1)3; brea
11、k endend(2)clcclearx=0,1,2,3,4,5,6,7,8,9,10;y=2.51,3.30,4.04,4.7,5.22,5.54,5.78,5.40,5.57,5.70,5.80;y1=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=1-miu;f1=y1,(y(2:end)-y(1:end-1)./h,yend;%fxn-1,xnf2=f1(2:end)-f1(1:end-1)./h(1),h(1:end-1)+h(2:end),h
12、(end);%fxn-1,xn,xn+1A=2.*eye(n+1);A(2:end,1:end-1)=A(2:end,1:end-1)+diag(miu,1);A(1:end-1,2:end)=A(1:end-1,2:end)+diag(1,lamda);M=A(6*f2);Sx=y(1:end-1),(y(2:end)-y(1:end-1)./h)-(1/3*M(1:end-1)+1/6*M(2:end).*h),1/2*M(1:end-1),1/6*(M(2:end)-M(1:end-1)./h;for i=0:9 xx=i+0.5;for j=2:n+1 if xx0.5e-5)x,y=
13、meshgrid(linspace(c,d,2k+1),linspace(a,b,2k+1);h=(b-a)/2k;l=(d-c)/2k;z=f(x,y);z1=z(1:end-1,1:end-1);z2=z(1:end-1,2:end);z3=z(2:end,1:end-1);z4=z(2:end,2:end);t(k)=h*l/4*(sum(sum(z1)+sum(sum(z2)+sum(sum(z3)+sum(sum(z4);% extrapolationif(k=2) T(1,k-1)=4/3*t(k)-1/3*t(k-1);% T(1) error=min(error,abs(t(k
14、)-t(k-1); if(k=3) T(2,k-2)=16/15*T(1,k-1)-1/15*T(1,k-2); % T(2) error=min(error,abs(T(1,k-1)-T(1,k-2); if(k=4) T(3,k-3)=64/63*T(1,k-2)-1/63*T(1,k-3); % T(3) error=min(error,abs(T(2,k-2)-T(2,k-3); if(k=5) error=min(error,abs(T(3,k-3)-T(3,k-4); end end endendk=k+1;end计算结果: T(f) T (1)(f) T (2)(f) T (3)
15、(f)10.51979650.3440320.3373930.33770920.38797340.3378080.3365920.3366530.35034950.3366680.3365240.33653140.34008870.3365330.33652150.33742180.33652160.3367464I(f)=0.33652二分6次习题623(上机题)常微分方程初值问题数值解(1)编制RK4方法的通用程序;(2)编制AB4方法的通用程序(由RK4提供初值);(3)编制AB4-AM4预测校正方法的通用程序(由RK4提供初值);(4)编制带改进的AB4-AM4预测校正方法的通用程序(
16、由RK4提供初值);(5)对于初值问题取步长,应用(1)(4)中的四种方法进行计算,并将计算结果和精确解作比较;(6)通过本上机题,你能得到哪些结论?程序:clcclear% Original questionf=inline(-x*x*y*y,x,y);y0=3;h=0.1;xstr=0;xend=1.5;x=xstr:h:xend;yx=3./(1+x.3);n=size(x,2);% RK4 methodRK4y(1)=y0;for i=1:n-1 k1=f(x(i),RK4y(i); k2=f(x(i)+h/2,RK4y(i)+h/2*k1); k3=f(x(i)+h/2,RK4y(i
17、)+h/2*k2); k4=f(x(i)+h,RK4y(i)+h*k3); RK4y(i+1)=RK4y(i)+h/6*(k1+2*k2+2*k3+k4);end% AB4 methodAB4y(1:4)=RK4y(1:4);for i=4:n-1 AB4y(i+1)=AB4y(i)+h/24*(55*f(x(i),AB4y(i)-59*f(x(i-1),AB4y(i-1)+37*f(x(i-2),AB4y(i-2)-9*f(x(i-3),AB4y(i-3);end% AB4-AM4 predictive methodBM4y(1:4)=RK4y(1:4);for i=4:n-1 yp(i+1
18、)=BM4y(i)+h/24*(55*f(x(i),BM4y(i)-59*f(x(i-1),BM4y(i-1)+37*f(x(i-2),BM4y(i-2)-9*f(x(i-3),BM4y(i-3); BM4y(i+1)=BM4y(i)+h/24*(9*f(x(i+1),yp(i+1)+19*f(x(i),BM4y(i)-5*f(x(i-1),BM4y(i-1)+f(x(i-2),BM4y(i-2);end% Improved AB4-AM4 predictive methodimprBM4y(1:4)=RK4y(1:4);for i=4:n-1 yP(i+1)=imprBM4y(i)+h/24
19、*(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),imprBM4y(i-3); yc(i+1)=imprBM4y(i)+h/24*(9*f(x(i+1),yP(i+1)+19*f(x(i),imprBM4y(i)-5*f(x(i-1),imprBM4y(i-1)+f(x(i-2),imprBM4y(i-2); imprBM4y(i+1)=251/270*yc(i+1)+19/270*yP(i+1);end% Errorerror(1:4,1:n)=abs(yx-RK4y;
20、yx-AB4y;yx-BM4y;yx-imprBM4y);计算结果:k x(k) y(x) RK4方法 误差 AB4方法 误差 AB4AM4 误差 带改进AB4AM4 误差1033030303020.12.9970032.9970031.87E-072.9970031.87E-072.9970031.87E-072.9970031.87E-0730.22.976192.976193.92E-072.976193.92E-072.976193.92E-072.976193.92E-0740.32.921132.9211297.58E-072.9211297.58E-072.9211297.58E
21、-072.9211297.58E-0750.42.8195492.8195471.61E-062.8183890.001162.8196780.000132.8195883.88E-0560.52.6666672.6666633.18E-062.6646720.0019942.6668760.0002092.6667134.62E-0570.62.4671052.46715.01E-062.4652030.0019032.4672520.0001472.4670978.23E-0680.72.2338052.2337995.77E-062.2330790.0007262.2337317.35E
22、-052.2336820.00012290.81.9841271.9841234.13E-061.9849510.0008241.9837870.000341.9838850.000242100.91.7351071.7351071.16E-071.7370430.0019361.7346070.00051.7348080.0002991111.51.5000065.81E-061.5021950.0021951.4995160.0004841.4997320.000268121.11.2870011.2870131.13E-051.2887630.0017621.2866570.000344
23、1.2868210.000181131.21.0997071.0997221.54E-051.1007240.0010171.0995330.0001741.0996228.50E-05141.30.938380.9383971.77E-050.938710.0003310.9383433.72E-050.9383671.24E-05151.40.8012820.80131.84E-050.8011350.0001470.8013274.53E-050.8013112.93E-05161.50.6857140.6857321.78E-050.6853350.000380.6857968.18E-050.685764.62E-05结论:带改进的AB4-AM4预测校正方法 比 AB4-AM4预测校正方法 精度更高, AB4方法 精度最低,RK4方法的精度最高