北航数值分析报告第三次大作业
北航数值分析实验报告
北航数值分析实验报告篇一:北航数值分析报告第一大题《数值分析》计算实习报告第一大题学号:DY1305姓名:指导老师:一、题目要求已知501*501阶的带状矩阵A,其特征值满足?1?2...?501。
试求:1、?1,?501和?s的值;2、A的与数?k??1?k?501??140最接近的特征值?ik(k=1,2,...,39);3、A的(谱范数)条件数c nd(A)2和行列式de tA。
二、算法设计方案题目所给的矩阵阶数过大,必须经过去零压缩后进行存储和运算,本算法中压缩后的矩阵A1如下所示。
?0?0?A1??a1??b??c0b a2bcc bb c............c bb ccb a500b0a 3...a499c?b??a501??0?0??由矩阵A的特征值满足的条件可知?1与?501之间必有一个最大,则采用幂法求出的一个特征值必为其中的一个:当所求得的特征值为正数,则为?501;否则为?1。
在求得?1与?501其中的一个后,采用带位移的幂法则可求出它们中的另一个,且位移量即为先求出的特征值的值。
用反幂法求得的特征值必为?s。
由条件数的性质可得,c nd(A)2为模最大的特征值与模最小的特征值之比的模,因此,求出?1,?501和?s的值后,则可以求得c nd(A)2。
北航研究生数值分析上机作业 三 (报告+所有程序大全)
数值分析上机作业3——求解非线性方程组以及二元函数的插值拟合1. 算法设计对于全部的插值节点(,),0,1,...,10,0,1,...,20i j x y i j ==,带入非线性方程组中,用Newton 迭代法解非线性方程组,得到(,),0,1,...,10,0,1,...,20i j t u i j ==。
对(,)i j t u ,在二维数表中进行插值,采用分片双二次插值法。
插值过程中,先选择分片区域的中心节点,在数表中的列记为(0:5)tt ,行记为(0:5)uu ,中心节点记为(,)a b ,生成向量_(0:2)t temp ,_(0)(())((1))/(((1)())((1)(1)))i i t temp t tt a t tt a tt a tt a tt a tt a =--+----+, _(1)((1))((1))/((()(1))(()(1)))i i t temp t tt a t tt a tt a tt a tt a tt a =---+---+, _(2)((1))(())/(((1)(1))((1)()))i i t temp t tt a t tt a tt a tt a tt a tt a =---+--+-,同理,生成向量_(0:2)u temp ,_(0)(())((1))/(((1)())((1)(1)))_(1)((1))((1))/((()(1))(()(1)))_(2)((1))(())/(((1)(1))((1)())j j j j j j u temp u uu a u uu a uu a uu a uu a uu a u temp u uu a u uu a uu a uu a uu a uu a u temp u uu a u uu a uu a uu a uu a uu a =--+----+=---+---+=---+--+-)记数表中以分片区域中心节点为中心的3×3的矩阵为T , 对于(,)i j t u 插值结果为(_)()(_)T t temp T u temp 。
数值分析大作业三四五六七
数值分析大作业三四五六七数值分析大作业三四五六七Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】大作业三1. 给定初值0x 及容许误差,编制牛顿法解方程f (x )=0的通用程序. 解:Matlab 程序如下:函数m 文件:fu.mfunction Fu=fu(x)Fu=x^3/3-x;end函数m 文件:dfu.mfunction Fu=dfu(x)Fu=x^2-1;end用Newton 法求根的通用程序Newton.mclear;x0=input('请输入初值x0:');ep=input('请输入容许误差:');flag=1;while flag==1x1=x0-fu(x0)/dfu(x0);if abs(x1-x0)<ep< p="">flag=0;endx0=x1;endfprintf('方程的一个近似解为:%f\n',x0);寻找最大δ值的程序:Find.mcleareps=input('请输入搜索精度:');ep=input('请输入容许误差:');flag=1;k=0;x0=0;while flag==1sigma=k*eps;x0=sigma;k=k+1;m=0;flag1=1;while flag1==1 && m<=10^3x1=x0-fu(x0)/dfu(x0);if abs(x1-x0)endm=m+1;x0=x1;endif flag1==1||abs(x0)>=epflag=0;endendfprintf('最大的sigma 值为:%f\n',sigma);2.求下列方程的非零根5130.6651()ln 05130.665114000.0918x x f x x +??=-= ?-解:Matlab 程序为:(1)主程序clearclcformat longx0=765;N=100;errorlim=10^(-5);x=x0-f(x0)/subs(df(),x0);n=1;while n<n< p="">x=x0-f(x0)/subs(df(),x0);if abs(x-x0)>errorlimn=n+1;elsebreak;endx0=x;enddisp(['迭代次数: n=',num2str(n)])disp(['所求非零根: 正根x1=',num2str(x),' 负根x2=',num2str(-x)])(2)子函数非线性函数ffunction y=f(x)y=log((513+0.6651*x)/(513-0.6651*x))-x/(1400*0.0918);end(3)子函数非线性函数的一阶导数dffunction y=df()syms x1y=log((513+0.6651*x1)/(513-0.6651*x1))-x1/(1400*0.0918);y=diff(y);end运行结果如下:迭代次数: n=5所求非零根: 正根x1=767.3861 负根x2=-767.3861大作业四试编写MATLAB 函数实现Newton 插值,要求能输出插值多项式. 对函数21()14f x x=+在区间[-5,5]上实现10次多项式插值.分析:(1)输出插值多项式。
北航数值分析大作业三
一、题目:关于x, y, t, u, v, w 的下列方程组0.5cos 2.670.5sin 1.070.5cos 3.740.5sin 0.79t u v w x t u v w y t u v w x t u v w y +++-=⎧⎪+++-=⎪⎨+++-=⎪⎪+++-=⎩1、试用数值方法求出f(x, y)在区域 {(,)|00.8,0.5 1.5}D x y x y =≤≤≤≤上的一个近似表达式,0(,)kr s rsr s p x y cx y ==∑要求(,)p x y 一最小的k 值达到以下的精度10202700((,)(,))10i j i j i j f x y p x y σ-===-≤∑∑其中,0.08,0.50.05i j x i y j ==+。
2、计算****(,),(,)i j i j f x y p x y (i = 1, 2, …,8;j = 1, 2,…,5)的值,以观察(,)p x y 逼近(,)f x y 的效果,其中,*i x =0.1i , *j y =0.5+0.2j 。
说明:1、用迭代方法求解非线性方程组时,要求近似解向量()k x 满足()(1)()12||||/||||10k k k x x x --∞∞-≤2、作二元插值时,要使用分片二次代数插值。
3、要由程序自动确定最小的k 值。
4、打印以下内容:●算法的设计方案。
●全部源程序(要求注明主程序和每个子程序的功能)。
●数表:,,i j x y (,)i j f x y (i = 0,1,2,…,10;j = 0,1,2,…,20)。
●选择过程的,k σ值。
●达到精度要求时的,k σ值以及(,)p x y 中的系数rs c (r = 0,1,…,k;s = 0,1,…,k )。
●数表:**,,i j x y ****(,),(,)i j i j f x y p x y (i = 1, 2, ...,8;j = 1, 2, (5)。
北航数值分析全部三次大作业
北航数值分析全部三次大作业第一次大作业是关于解线性方程组的数值方法。
我们被要求实现各种常用的线性方程组求解算法,例如高斯消元法、LU分解法和迭代法等。
我首先学习了这些算法的原理和实现方法,并借助Python编程语言编写了这些算法的代码。
在实验中,我们使用了不同规模和条件的线性方程组进行测试,并比较了不同算法的性能和精度。
通过这个作业,我深入了解了线性方程组求解的原理和方法,提高了我的编程和数值计算能力。
第二次大作业是关于数值积分的方法。
数值积分是数值分析中的重要内容,它可以用于计算曲线的长度、函数的面积以及求解微分方程等问题。
在这个作业中,我们需要实现不同的数值积分算法,例如矩形法、梯形法和辛普森法等。
我学习了这些算法的原理和实现方法,并使用Python编写了它们的代码。
在实验中,我们计算了不同函数的积分值,并对比了不同算法的精度和效率。
通过这个作业,我深入了解了数值积分的原理和方法,提高了我的编程和数学建模能力。
第三次大作业是关于常微分方程的数值解法。
常微分方程是数值分析中的核心内容之一,它可以用于描述众多物理、化学和生物现象。
在这个作业中,我们需要实现不同的常微分方程求解算法,例如欧拉法、龙格-库塔法和Adams法等。
我学习了这些算法的原理和实现方法,并使用Python编写了它们的代码。
在实验中,我们解决了一些具体的常微分方程问题,并比较了不同算法的精度和效率。
通过这个作业,我深入了解了常微分方程的原理和方法,提高了我的编程和问题求解能力。
总的来说,北航数值分析课程的三次大作业非常有挑战性,但也非常有意义。
通过这些作业,我在数值计算和编程方面得到了很大的提升,也更加深入地了解了数值分析的理论和方法。
虽然这些作业需要大量的时间和精力,但我相信这些努力将会对我未来的学习和工作产生积极的影响。
北航数值分析报告大作业第三题(fortran)
北航数值分析报告大作业第三题(fortran)“数值分析“计算实习大作业第三题——SY1415215孔维鹏一、计算说明1、将x i=0.08i,y j=0.5+0.05j分别代入方程组(A.3)得到关于t,u,v,w的的方程组,调用离散牛顿迭代子函数求出与x i,y j对应的t i,u j。
2、调用分片二次代数插值子函数在点(t i,u j)处插值得到z(x i,y j)=f(x i,y j),得到数表(x i,y j,f(x i,y j))。
3、对于k=1,2,3,4?,分别调用最小二乘拟合子函数计算系数矩阵c rs 及误差σ,直到满足精度,即求得最小的k值及系数矩阵c rs。
4、将x i?=0.1i,y j?=0.5+0.2j分别代入方程组(A.3)得到关于t?,u?,v?,w?的的方程组,调用离散牛顿迭代子函数求出与x i?,y j?对应的t i?,u j?,调用分片二次代数插值子函数在点(t i?,u j?)处插值得到z?(x i?,y j?)=f(x i?,y j?);调用步骤3中求得的系数矩阵c rs求得p(x i?,y j?),打印数表(x i?,y j?,f(x i?,y j?),p(x i?,y j?))。
二、源程序(FORTRAN)PROGRAM SY1415215DIMENSIONX(11),Y(21),T(6),U(6),Z(6,6),UX(11,21),TY(11,21),FXY(11,21), C(6,6) DIMENSIONX1(8),Y1(5),FXY1(8,5),PXY1(8,5),UX1(8,5),TY1(8,5)REAL(8) X,Y,T,U,Z,FXY,UX,TY,C,E,X1,Y1,FXY1,PXY1,UX1,TY1OPEN (1,FILE='第三题计算结果.TXT')DO I=1,11X(I)=0.08*(I-1)ENDDODO I=1,21Y(I)=0.5+0.05*(I-1)ENDDO!*****求解非线性方程组,得到z=f(t,u)的函数*******DO I=1,11DO J=1,21CALL DISNEWTON_NONLINEAR(X(I),Y(J),UX(I,J),TY(I,J)) ENDDO ENDDO!*************分片二次插值得到z=f(x,y)***********DO I=1,11DO J=1,21CALL INTERPOLATION(UX(I,J),TY(I,J),FXY(I,J))ENDDO ENDDOWRITE (1,"('数表(x,y,f(x,y)):')")WRITE (1,"(3X,'X',7X,'Y',10X,'F(X,Y)')")DO I=1,11DO J=1,21WRITE(1,'(1X,F5.2,2X,F5.3,2X,E20.13)') X(I),Y(J),FXY(I,J) ENDDOWRITE (1,"('')")ENDDO!***********最小二乘拟合得到P(x,y)**************N=11M=21WRITE (1,'(" ","K和σ分别为:")')DO K=1,20CALL LSFITTING(X,Y,FXY,C,N,M,K,K,E) WRITE (1,'(I3,2X,E20.13)') K-1,EIF(ETA).OR.(A(L,K)==TA)) THENTA=A(L,K)TL=LDO J=K,NT(K,J)=A(K,J)A(K,J)=A(TL,J)A(TL,J)=T(K,J)ENDDOTB(K)=B(K)B(K)=B(TL)B(TL)=TB(K)ENDIF ENDDODO I=K+1,NM(I,K)=A(I,K)/A(K,K)A(I,K)=0DO J=K+1,NA(I,J)=A(I,J)-M(I,K)*A(K,J) ENDDOB(I)=B(I)-M(I,K)*B(K)ENDDOENDDO!回代过程X(N)=B(N)/A(N,N)DO K=N-1,1,-1S=0.0DO J=K+1,NS=S+A(K,J)*X(J)ENDDOX(K)=(B(K)-S)/A(K,K)ENDDORETURNEND!***********求向量的无穷数************ SUBROUTINE NORM(X,N,A) DIMENSION X(N)REAL(8) X,AA=ABS(X(1))DO I=2,NIF(ABS(X(I))>ABS(X(I-1))) THENA=ABS(X(I)) ENDIFENDDORETURNEND!**************分片二次代数插值************** SUBROUTINE INTERPOLATION(U,V,W) PARAMETER (N=6,M=6)DIMENSION X(N),Y(M),Z(M,N),LK(3),LR(3)REAL(8) X,Y,Z,H,TREAL(8) U,V,W,LK,LR !U,V分别为插值点处的坐标,W为插值结果INTEGER R!**********************数据赋值********************** DATA Y/0.0,0.2,0.4,0.6,0.8,1.0/DATA X/0.0,0.4,0.8,1.2,1.6,2.0/DATA Z/-0.5,-0.42,-0.18,0.22,0.78,1.5,&&-0.34,-0.5,-0.5,-0.34,-0.02,0.46,&&0.14,-0.26,-0.5,-0.58,-0.5,-0.26,&&0.94,0.3,-0.18,-0.5,-0.66,-0.66,&&2.06,1.18,0.46,-0.1,-0.5,-0.74,&&3.5,2.38,1.42,0.62,-0.02,-0.5/H=0.4T=0.2!******************计算K,R************************* IF(UX(N-1)-H/2) THENK=N-1ELSEDO I=3,N-2IF((U>X(I)-H/2).AND.(UY(M-1)-T/2) THENR=M-1 ELSEDO J=3,M-2IF((V>Y(J)-T/2).AND.(VN) P=N IF(P>20) P=20IF(Q>M) Q=MIF(Q>20) Q=20XX=0YY=0D1=NAPX(1)=0.0DO I=1,NAPX(1)=APX(1)+X(I)ENDDOAPX(1)=APX(1)/D1DO J=1,MV(1,J)=0.0DO I=1,NV(1,J)=V(1,J)+Z(I,J)ENDDOV(1,J)=V(1,J)/D1ENDDOIF(P>1) THEND2=0.0APX(2)=0.0DO I=1,NG=X(I)-APX(1)D2=D2+G*GAPX(2)=APX(2)+(X(I)-XX)*G*G ENDDO APX(2)=APX(2)/D2BX(2)=D2/D1DO J=1,MV(2,J)=0.0DO I=1,NG=X(I)-APX(1)V(2,J)=V(2,J)+Z(I,J)*G ENDDOV(2,J)=V(2,J)/D2ENDDOD1=D2ENDIFDO K=3,PD2=0.0APX(K)=0.0DO J=1,MV(K,J)=0.0ENDDODO I=1,NG1=1.0G2=X(I)-APX(1)DO J=3,KG=(X(I)-APX(J-1))*G2-BX(J-1)*G1 G1=G2 G2=GENDDOD2=D2+G*GAPX(K)=APX(K)+X(I)*G*GDO J=1,M V(K,J)=V(K,J)+Z(I,J)*G ENDDOENDDODO J=1,MV(K,J)=V(K,J)/D2ENDDOAPX(K)=APX(K)/D2BX(K)=D2/D1D1=D2ENDDOD1=MAPY(1)=0.0DO I=1,MAPY(1)=APY(1)+Y(I)ENDDOAPY(1)=APY(1)/D1DO J=1,PU(J,1)=0.0DO I=1,MU(J,1)=U(J,1)+V(J,I) ENDDO U(J,1)=U(J,1)/D1ENDDOIF(Q>1)THEND2=0.0APY(2)=0.0DO I=1,MG=Y(I)-APY(1)D2=D2+G*G APY(2)=APY(2)+(Y(I))*G*G ENDDO APY(2)=APY(2)/D2BY(2)=D2/D1DO J=1,PU(J,2)=0.0DO I=1,MG=Y(I)-APY(1)U(J,2)=U(J,2)+V(J,I)*GENDDOU(J,2)=U(J,2)/D2ENDDOD1=D2ENDIFDO K=3,QD2=0.0APY(K)=0.0DO J=1,PU(J,K)=0.0ENDDODO I=1,MG1=1.0G2=Y(I)-APY(1)DO J=3,KG=(Y(I)-APY(J-1))*G2-BY(J-1)*G1 G1=G2 G2=GENDDOD2=D2+G*GAPY(K)=APY(K)+Y(I)*G*G DO J=1,PU(J,K)=U(J,K)+V(J,I)*G ENDDOENDDODO J=1,PU(J,K)=U(J,K)/D2ENDDOAPY(K)=APY(K)/D2BY(K)=D2/D1D1=D2ENDDOV(1,1)=1.0V(2,1)=-APY(1)V(2,2)=1.0DO I=1,PDO J=1,QA(I,J)=0.0ENDDOENDDODO I=3,QV(I,I)=V(I-1,I-1)V(I,I-1)=-APY(I-1)*V(I-1,I-1)+V(I-1,I-2)IF(I>=4) THENDO K=I-2,2,-1V(I,K)=-APY(I-1)*V(I-1,K)+V(I-1,K-1)-BY(I-1)*V(I-2,K) ENDDO ENDIFV(I,1)=-APY(I-1)*V(I-1,1)-BY(I-1)*V(I-2,1)ENDDO DO I=1,PIF(I==1) THENT(1)=1.0T1(1)=1.0ELSEIF(I==2) THENT(1)=-APX(1)T(2)=1.0T2(1)=T(1)T2(2)=T(2)ELSET(I)=T2(I-1)T(I-1)=-APX(I-1)*T2(I-1)+T2(I-2) IF(I>=4) THENDO K=I-2,2,-1T(K)=-APX(I-1)*T2(K)+T2(K-1)-BX(I-1)*T1(K) ENDDOENDIFT(1)=-APX(I-1)*T2(1)-BX(I-1)*T1(1)T2(I)=T(I)DO K=I-1,1,-1T1(K)=T2(K)T2(K)=T(K)ENDDOENDIFDO J=1,QDO K=I,1,-1DO L=J,1,-1A(K,L)=A(K,L)+U(I,J)*T(K)*V(J,L) ENDDOENDDOENDDOENDDODT1=0.0DO I=1,NX1=X(I)DO J=1,MY1=Y(J)X2=1.0DD=0.0DO K=1,PG=A(K,Q)DO KK=Q-1,1,-1G=G*Y1+A(K,KK)ENDDOG=G*X2DD=DD+GX2=X2*X1ENDDODT=DD-Z(I,J)DT1=DT1+DT*DTENDDOENDDORETURNEND三、计算结果数表(x,y,f(x,y)): X Y UX TY F(X,Y) 0.00 0.500 1.345 0.243 0.17E+000.00 0.550 1.322 0.269 0.66E+000.00 0.600 1.299 0.295 0.35E+000.00 0.650 1.277 0.322 0.94E+000.00 0.700 1.255 0.350 0.30E-020.00 0.750 1.235 0.377 -0.87E-010.00 0.800 1.215 0.406 -0.58E+000.00 0.850 1.196 0.434 -0.72E+000.00 0.900 1.177 0.463 -0.54E+000.00 0.950 1.159 0.492 -0.86E+000.00 1.050 1.125 0.550 -0.74E+00 0.00 1.100 1.109 0.580 -0.06E+00 0.00 1.150 1.093 0.609 -0.00E+00 0.00 1.200 1.0790.639 -0.18E+00 0.00 1.250 1.064 0.669 -0.52E+00 0.00 1.3001.050 0.699 -0.19E+00 0.00 1.350 1.037 0.729 -0.48E+00 0.001.400 1.024 0.759 -0.68E+00 0.00 1.450 1.011 0.790 -0.52E+00 0.00 1.500 1.000 0.820 -0.29E+000.08 0.500 1.415 0.228 0.67E+00 0.08 0.550 1.391 0.253 0.08E+00 0.08 0.600 1.368 0.279 0.02E+00 0.08 0.650 1.346 0.306 0.47E+00 0.08 0.700 1.325 0.333 0.57E+00 0.08 0.750 1.304 0.360 0.48E-01 0.08 0.800 1.284 0.388 -0.73E-01 0.08 0.850 1.265 0.416 -0.16E+00 0.08 0.900 1.246 0.444 -0.29E+00 0.08 0.950 1.229 0.473 -0.36E+00 0.08 1.000 1.211 0.502 -0.08E+00 0.08 1.050 1.194 0.531 -0.29E+00 0.08 1.100 1.178 0.560 -0.78E+00 0.08 1.150 1.163 0.589 -0.93E+00 0.08 1.200 1.148 0.619 -0.44E+00 0.08 1.250 1.133 0.649 -0.92E+00 0.08 1.300 1.119 0.679 -0.71E+000.08 1.400 1.093 0.739 -0.37E+00 0.08 1.450 1.080 0.769-0.83E+00 0.08 1.500 1.068 0.799 -0.92E+000.16 0.500 1.483 0.214 0.31E+00 0.16 0.550 1.460 0.239 0.64E+00 0.16 0.600 1.437 0.264 0.91E+00 0.16 0.650 1.414 0.290 0.06E+00 0.16 0.700 1.393 0.316 0.70E+00 0.16 0.750 1.372 0.343 0.59E+00 0.16 0.800 1.352 0.370 0.12E+00 0.16 0.850 1.333 0.398 0.77E-02 0.16 0.900 1.315 0.426 -0.83E-01 0.16 0.950 1.297 0.454-0.58E+00 0.16 1.000 1.279 0.483 -0.20E+00 0.16 1.050 1.2620.512 -0.11E+00 0.16 1.100 1.246 0.541 -0.74E+00 0.16 1.1501.231 0.570 -0.09E+00 0.16 1.200 1.216 0.600 -0.59E+00 0.16 1.250 1.201 0.629 -0.66E+00 0.16 1.300 1.187 0.659 -0.71E+00 0.16 1.350 1.174 0.689 -0.32E+00 0.16 1.400 1.161 0.718-0.56E+00 0.16 1.450 1.148 0.748 -0.31E+00 0.16 1.500 1.136 0.778 -0.75E+000.24 0.500 1.551 0.201 0.66E+01 0.24 0.550 1.527 0.2250.03E+000.24 0.650 1.482 0.275 0.64E+00 0.24 0.700 1.460 0.3010.47E+00 0.24 0.750 1.439 0.327 0.34E+00 0.24 0.800 1.419 0.354 0.24E+00 0.24 0.850 1.400 0.381 0.69E+00 0.24 0.900 1.381 0.409 0.04E-01 0.24 0.950 1.363 0.437 -0.42E-01 0.24 1.000 1.346 0.465 -0.06E+00 0.24 1.050 1.329 0.494 -0.59E+00 0.24 1.100 1.313 0.523 -0.83E+00 0.24 1.150 1.297 0.552 -0.15E+00 0.24 1.200 1.282 0.581 -0.19E+00 0.24 1.250 1.267 0.610 -0.84E+00 0.24 1.300 1.253 0.640 -0.66E+00 0.24 1.350 1.240 0.669 -0.30E+00 0.24 1.400 1.227 0.699 -0.86E+00 0.24 1.450 1.214 0.729 -0.84E+00 0.24 1.500 1.202 0.759 -0.77E+000.32 0.500 1.617 0.188 0.28E+01 0.32 0.550 1.593 0.212 0.49E+01 0.32 0.600 1.570 0.236 0.68E+00 0.32 0.650 1.547 0.261 0.75E+00 0.32 0.700 1.526 0.286 0.60E+00 0.32 0.750 1.505 0.312 0.77E+00 0.32 0.800 1.485 0.339 0.05E+00 0.32 0.850 1.466 0.365 0.99E+00 0.32 0.900 1.447 0.393 0.27E+00 0.32 1.000 1.411 0.448 -0.01E-02 0.32 1.050 1.395 0.477-0.41E-01 0.32 1.100 1.378 0.505 -0.18E+00 0.32 1.150 1.3630.534 -0.25E+00 0.32 1.200 1.347 0.563 -0.29E+00 0.32 1.2501.333 0.592 -0.90E+00 0.32 1.300 1.319 0.621 -0.00E+00 0.32 1.350 1.305 0.650 -0.40E+00 0.32 1.400 1.292 0.680 -0.54E+00 0.32 1.450 1.279 0.710 -0.79E+00 0.32 1.500 1.267 0.739-0.91E+000.40 0.500 1.681 0.177 0.91E+01 0.40 0.550 1.658 0.1990.00E+01 0.40 0.600 1.634 0.223 0.83E+01 0.40 0.650 1.612 0.247 0.02E+01 0.40 0.700 1.591 0.272 0.94E+00 0.40 0.750 1.570 0.298 0.49E+00 0.40 0.800 1.550 0.324 0.94E+00 0.40 0.850 1.530 0.350 0.40E+00 0.40 0.900 1.512 0.377 0.33E+00 0.40 0.950 1.493 0.405 0.99E+00 0.40 1.000 1.476 0.432 0.68E+00 0.40 1.050 1.459 0.460 0.08E-01 0.40 1.100 1.443 0.488 -0.84E-01 0.40 1.150 1.427 0.517-0.98E+00 0.40 1.200 1.412 0.545 -0.27E+00 0.40 1.250 1.397 0.574 -0.06E+000.40 1.350 1.369 0.632 -0.66E+00 0.40 1.400 1.356 0.662-0.37E+00 0.40 1.450 1.343 0.691 -0.43E+00 0.40 1.500 1.331 0.721 -0.12E+000.48 0.500 1.745 0.166 0.69E+01 0.48 0.550 1.721 0.188 0.02E+01 0.48 0.600 1.698 0.211 0.74E+01 0.48 0.650 1.676 0.235 0.40E+01 0.48 0.700 1.654 0.259 0.23E+01 0.48 0.750 1.634 0.284 0.56E+00 0.48 0.800 1.613 0.310 0.28E+00 0.48 0.850 1.594 0.336 0.49E+00 0.48 0.900 1.575 0.363 0.31E+00 0.48 0.950 1.557 0.390 0.66E+00 0.48 1.000 1.539 0.417 0.30E+00 0.48 1.050 1.522 0.444 0.34E+00 0.48 1.100 1.506 0.472 0.07E-01 0.48 1.150 1.490 0.500 -0.62E-01 0.48 1.200 1.475 0.529 -0.45E+00 0.48 1.250 1.460 0.557 -0.86E+00 0.48 1.300 1.446 0.586 -0.39E+00 0.48 1.350 1.432 0.615 -0.22E+00 0.48 1.400 1.419 0.644 -0.67E+00 0.48 1.450 1.406 0.674-0.55E+00 0.48 1.500 1.394 0.703 -0.14E+000.56 0.500 1.808 0.156 0.48E+010.56 0.600 1.761 0.200 0.10E+01 0.56 0.650 1.739 0.2230.68E+01 0.56 0.700 1.717 0.247 0.94E+01 0.56 0.750 1.696 0.272 0.33E+01 0.56 0.800 1.676 0.297 0.11E+00 0.56 0.850 1.657 0.323 0.63E+00 0.56 0.900 1.638 0.349 0.97E+00 0.56 0.950 1.620 0.375 0.52E+00 0.56 1.000 1.602 0.402 0.56E+00 0.56 1.050 1.585 0.429 0.47E+00 0.56 1.100 1.568 0.457 0.20E+00 0.56 1.150 1.552 0.485 0.13E+00 0.56 1.200 1.537 0.513 0.09E-01 0.56 1.250 1.522 0.541 -0.47E-01 0.56 1.300 1.508 0.570 -0.99E+00 0.56 1.350 1.4940.599 -0.82E+00 0.56 1.400 1.481 0.627 -0.26E+00 0.56 1.4501.468 0.657 -0.71E+00 0.56 1.500 1.455 0.686 -0.98E+000.64 0.500 1.870 0.147 0.74E+01 0.64 0.550 1.846 0.1680.10E+01 0.64 0.600 1.823 0.190 0.54E+01 0.64 0.650 1.801 0.213 0.42E+01 0.64 0.700 1.779 0.236 0.56E+01 0.64 0.750 1.758 0.260 0.03E+01 0.64 0.800 1.738 0.285 0.42E+01 0.64 0.850 1.718 0.310 0.41E+010.64 0.950 1.681 0.362 0.36E+00 0.64 1.000 1.664 0.388 0.18E+00 0.64 1.050 1.646 0.415 0.28E+00 0.64 1.100 1.630 0.443 0.07E+00 0.64 1.150 1.614 0.470 0.66E+00 0.64 1.200 1.598 0.498 0.09E+00 0.64 1.250 1.584 0.526 0.50E-01 0.64 1.300 1.569 0.554 -0.88E-01 0.64 1.350 1.555 0.583 -0.76E+00 0.64 1.400 1.542 0.611 -0.66E+00 0.64 1.450 1.529 0.640 -0.33E+00 0.64 1.500 1.516 0.669 -0.56E+00 0.72 0.500 1.931 0.139 0.94E+01 0.72 0.550 1.907 0.159 0.84E+01 0.72 0.600 1.884 0.181 0.36E+01 0.72 0.650 1.862 0.203 0.40E+01 0.72 0.700 1.840 0.226 0.47E+01 0.72 0.750 1.819 0.249 0.56E+01 0.72 0.800 1.799 0.273 0.19E+01 0.72 0.850 1.779 0.298 0.37E+01 0.72 0.900 1.760 0.323 0.86E+01 0.72 0.950 1.742 0.349 0.76E+00 0.72 1.000 1.724 0.375 0.24E+00 0.72 1.050 1.707 0.402 0.55E+00 0.72 1.100 1.691 0.429 0.97E+00 0.72 1.150 1.675 0.456 0.27E+00 0.72 1.200 1.659 0.484 0.31E+000.72 1.300 1.630 0.539 0.49E+00 0.72 1.350 1.616 0.5680.72E-02 0.72 1.400 1.602 0.596 -0.69E-01 0.72 1.450 1.589 0.625 -0.67E+00 0.72 1.500 1.576 0.653 -0.20E+000.80 0.500 1.992 0.131 0.31E+01 0.80 0.550 1.968 0.1510.44E+01 0.80 0.600 1.945 0.172 0.41E+01 0.80 0.650 1.922 0.193 0.45E+01 0.80 0.700 1.900 0.216 0.00E+01 0.80 0.750 1.879 0.239 0.10E+01 0.80 0.800 1.859 0.263 0.16E+01 0.80 0.850 1.840 0.287 0.52E+01 0.80 0.900 1.821 0.312 0.02E+01 0.80 0.950 1.802 0.337 0.38E+01 0.80 1.000 1.784 0.363 0.89E+01 0.80 1.050 1.767 0.389 0.28E+00 0.80 1.100 1.751 0.416 0.09E+00 0.80 1.150 1.734 0.4430.23E+00 0.80 1.200 1.719 0.470 0.93E+00 0.80 1.250 1.704 0.498 0.15E+00 0.80 1.300 1.689 0.525 0.86E+00 0.80 1.350 1.675 0.553 0.64E+00 0.80 1.400 1.662 0.582 0.74E-01 0.80 1.450 1.649 0.610 -0.37E-01 0.80 1.500 1.636 0.638 -0.81E+00K和σ分别为:0 0.93E+031 0.61E+012 0.92E-023 0.53E-034 0.16E-055 0.77E-07系数矩阵Crs(按行)为:0.00E+01 -0.83E+01 0.56E+00 0.97E+00 -0.03E+00 0.70E-010.91E+01 -0.99E+00 -0.96E+01 0.17E+01 -0.66E+00 0.10E-01 0.77E+00 0.42E+01 -0.10E+00 -0.81E+00 0.81E+00 -0.62E-01-0.25E+00 -0.21E+00 0.97E+00 -0.18E+00 0.49E+00 -0.63E-010.34E+00 -0.56E+00 0.69E-01 0.51E+00 -0.77E-01 0.27E-01-0.94E-01 0.94E+00 -0.58E+00 0.69E-01 -0.50E-01 0.53E-02 数表(x,y,f(x,y),p(x,y)):X Y F(X,Y) P(X,Y)0.100 0.700 0.58E+00 0.05E+000.100 1.100 -0.66E+00 -0.26E+00 0.100 1.300 -0.68E+00-0.31E+00 0.100 1.500 -0.52E+00 -0.49E+000.200 0.700 0.54E+00 0.19E+00 0.200 0.900 -0.63E-01 -0.65E-01 0.200 1.100 -0.90E+00 -0.90E+00 0.200 1.300 -0.84E+00 -0.90E+00 0.200 1.500 -0.03E+00 -0.04E+000.300 0.700 0.82E+00 0.09E+00 0.300 0.900 0.48E+00 0.11E+00 0.300 1.100 -0.63E+00 -0.88E+00 0.300 1.300 -0.72E+00 -0.96E+00 0.300 1.500 -0.34E+00 -0.84E+000.400 0.700 0.79E+00 0.89E+00 0.400 0.900 0.56E+00 0.63E+00 0.400 1.100 -0.83E-01 -0.04E-01 0.400 1.300 -0.72E+00 -0.71E+00 0.400 1.500 -0.85E+00 -0.07E+000.500 0.700 0.56E+01 0.92E+01 0.500 0.900 0.51E+00 0.23E+00 0.500 1.100 0.59E+00 0.27E+00 0.500 1.300 -0.53E+00 -0.11E+00 0.500 1.500 -0.67E+00 -0.33E+000.600 0.900 0.14E+00 0.75E+00 0.600 1.100 0.19E+00 0.32E+00 0.600 1.300 -0.70E-01 -0.82E-01 0.600 1.500 -0.08E+00 -0.75E+00 0.700 0.700 0.89E+01 0.29E+01 0.700 0.900 0.91E+01 0.11E+010.700 1.100 0.60E+00 0.97E+00 0.700 1.300 0.22E-01 0.06E-01 0.7001.500 -0.53E+00 -0.80E+00 0.800 0.700 0.09E+01 0.06E+01 0.800 0.900 0.32E+01 0.50E+01 0.800 1.100 0.03E+00 0.79E+00 0.800 1.300 0.25E+00 0.50E+00 0.800 1.500 -0.14E+00 -0.28E+00。
BUAA数值分析大作业三
北京航空航天大学2020届研究生《数值分析》实验作业第九题院系:xx学院学号:姓名:2020年11月Q9:方程组A.4一、 算法设计方案(一)总体思路1.题目要求∑∑===k i kj s r rsy x cy x p 00),(对f(x, y) 进行拟合,可选用乘积型最小二乘拟合。
),(i i y x 与),(i i y x f 的数表由方程组与表A-1得到。
2.),(**j i y x f 与1使用相同方法求得,),(**j i y x p 由计算得出的p(x,y)直接带入),(**j i y x 求得。
1. ),(i i y x 与),(i i y x f 的数表的获得对区域D ={ (x,y)|1≤x ≤1.24,1.0≤y ≤1.16}上的f (x , y )值可通过xi=1+0.008i ,yj=1+0.008j ,得到),(i i y x 共31×21组。
将每组带入A4方程组,即可获得五个二元函数组,通过简单牛顿迭代法求解这五个二元数组可获得z1~z5有关x,y 的表达式。
再将),(i i y x 分别带入z1~z5表达式即可获得f(x,y)值。
2.乘积型最小二乘曲面拟合2.1使用乘积型最小二乘拟合,根据k 值不用,有基函数矩阵如下:⎪⎪⎪⎭⎫ ⎝⎛=k i i k x x x x B 0000 , ⎪⎪⎪⎭⎫ ⎝⎛=k j jk y y y y G 0000数表矩阵如下:⎪⎪⎪⎭⎫⎝⎛=),(),(),(),(0000j i i j y x f y x f y x f y x f U记C=[rs c ],则系数rs c 的表达式矩阵为:11-)(-=G G UG B B B C T TT )(通过求解如下线性方程,即可得到系数矩阵C 。
UG B G G C B B T T T =)()(2.2计算),(),,(****j i j i y x p y x f (i =1,2,…,31 ; j =1,2,…,21) 的值),(**j i y x f 的计算与),(j i y x f 相同。
北航数值分析大作业3(学硕)
《数值分析》作业三院系:机械学院学号:SY1307145姓名:龙安林2013年11 月24 日1. 算法设计1) 开始;2) 计算数组[][]0.08,0.050.5,0,1,2,,10;0,1,2,,20x i i y j j i j ==+=⋯=⋯(); 3) 将点[][],0,1,2,,10;0,1,2,,20x i y j i j =⋯=⋯(),()带入非线性方程组: 0.5cos 2.670.5sin 1.070.5cos 3.740.5sin 0.79t u v w x t u v w y t u v w x t u v w y +++-=⎧⎪+++-=⎪⎨+++-=⎪⎪+++-=⎩ 得出相应的点,t u (); 4) 选择拉格朗日插值法,将,t u ()作为中间变量,在题目所给出的二维数表中进行二次代数插值,得到[][],)(z f x i y j =;5) 输出数表:[][][][]()()0,1,2,,10;0,1,2,,20,,,x i y j f x i y j i j =⋯=⋯; 6) 令k=0;7) 以()()(),,,0,1,r r r s x x y y r s ϕψ===…,k 为拟合基函数,将上述数表作为拟合条件,对于给定的k 值,得到矩阵B 、G 、U ;8) 令-1-1(),()T T T A B B B U C AG G G ==,用选主元的LU 分解法分别计算矩阵A 和C 的各列,最后得到系数矩阵C ;9) 以公式:()()()00,k ki j rs r i s j s r p x y C x y ϕψ===∑∑计算每个点的拟合值;10) 利用公式:()()()2102000,,i j i j i j f x y p x y σ===-∑∑计算拟合误差,当σ≤10-7时,循环结束,否则k=k+1,转(6);11) 令[][]()**0.10.50.2 1,2,81,2,5x i i y j j i j ==+=⋯=⋯;,;,;12) 计算()()()******,,,,,i j i j i jf x y p x y delta x y ,输出数表,观察逼近效果; 13) 结束。
数值分析第三次作业解答
数值分析第三次作业解答思考题:1:(a )对给定的连续函数,构造等距节点上的Lagrange 插值多项式,节点数目越多,得到的插值多项式越接近被逼近的函数。
×;(b) 对给定的连续函数,构造其三次样条函数插值,则节点数目越多,得到的样条函数越接近被逼近的函数。
√(c) 高次的Lagrange 插值多项式很常用。
×(d) 样条函数插值具有比较好的数值稳定性。
√3. 以0.1,0.15,0.2为插值节点,计算()f x = Lagrange 插值多项式 2()P x , 比较2(0)P 和(0)f ,问定理4.1的结果是否适用本问题? 解: 构造插值多项式:0122022(0.15)(0.2)()0.050.1(0.1)(0.2)()0.050.05(0.1)(0.15)()0.10.05()()()()(0)0;(0)0.1403x x l x x x l x x x l x P x x x x f P --=⨯--=⨯--=⨯=++==在(0,2)区间,5''''''23()(0.2)118.585458f x x f -=≤=从而,对任意的 '''3()(0,0.2),(0)0.05933!f ξξω∈≤ 不存在'''32()(0,0.2),(0)(0)(0)0.14033!f f P ξξω∈=-=。
演示程序:x=0:0.01:0.2; y=x.^(1/2);plot(x,y,'r')pause,hold onx0=[0.1,0.15 ,0.2]; y0=x0.^(1/2); x=0:0.01:0.2; y1=lagrangen(x0,y0,x); plot(x,y1,'b')5:(a )求()f x x =在节点123452,0.5,0, 1.5,2x x x x x =-=-=== 的三次样条插值(150M M ==)。
北航2010-2015年研究生数值分析报告期末模拟试卷与真题
北航2010-2015年研究生数值分析报告期末模拟试卷与真题数值分析模拟卷A一、填空(共30分,每空3分)1 设-=1511A ,则A 的谱半径=)(a ρ______,A 的条件数)(1A cond =________. 2 设 ,2,1,0,,53)(2==+=k kh x x x f k ,则],,[21++n n n x x x f =________, ],,[321+++n n n n x x x x f ,=________.3 设≤≤-++≤≤+=21,1210,)(2323x cx bx x x x x x S ,是以0,1,2为节点的三次样条函数,则b=________,c=________.4 设∞=0)]([k k x q 是区间[0,1]上权函数为x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x q ,则?=10)(dx x xq k ________,=)(2x q ________.5 设=11001a a a a A ,当∈a ________时,必有分解式,其中L 为下三角阵,当其对角线元素)3,2,1(=i L ii 满足条件________时,这种分解是唯一的.二、(14分)设49,1,41,)(21023====x x x x x f , (1)试求)(x f 在]49,41[上的三次Hermite 插值多项式)(x H 使满足2,1,0),()(==i x f x H i i ,)()(11x f x H '='.(2)写出余项)()()(x H x f x R -=的表达式.三、(14分)设有解方程0cos 2312=+-x x 的迭代公式为n n x x cos 3241+=+,(1)证明R x ∈?0均有?∞→=x x n x lim (?x 为方程的根);(2)取40=x ,用此迭代法求方程根的近似值,误差不超过,列出各次迭代值;(3)此迭代的收敛阶是多少?证明你的结论.四、(16分) 试确定常数A ,B ,C 和,使得数值积分公式有尽可能高的代数精度. 试问所得的数值积分公式代数精度是多少?它是否为Gauss 型的?五、(15分)设有常微分方程的初值问题=='00)(),(y x y y x f y ,试用Taylor 展开原理构造形如)()(11011--++++=n n n n n f f h y y y ββα的方法,使其具有二阶精度,并推导其局部截断误差主项.六、(15分)已知方程组b Ax =,其中= ??=21,13.021b A ,(1)试讨论用Jacobi 迭代法和Gauss-Seidel 迭代法求解此方程组的收敛性.(2)若有迭代公式)()()()1(b Ax a x x k k k ++=+,试确定一个的取值围,在这个围任取一个值均能使该迭代公式收敛.七、(8分)方程组,其中,A 是对称的且非奇异.设A 有误差,则原方程组变化为,其中为解的误差向量,试证明 .其中1λ和2λ分别为A 的按模最大和最小的特征值.数值分析模拟卷B填空题(每空2分,共30分)1. 近似数231.0=*x 关于真值229.0=x 有____________位有效数字;2. 设)(x f 可微,求方程)(x f x =根的牛顿迭代格式是_______________________________________________;3. 对1)(3++=x x x f ,差商=]3,2,1,0[f _________________;=]4,3,2,1,0[f ________;4. 已知???? ??-='-=1223,)3,2(A x ,则=∞||||Ax ________________,=)(1A Cond ______________________ ;5. 用二分法求方程01)(3=-+=x x x f 在区间[0,1]的根,进行一步后根所在区间为_________,进行二步后根所在区间为_________________;6. 求解线性方程组=+=+04511532121x x x x 的高斯—赛德尔迭代格式为_______________________________________;该迭代格式迭代矩阵的谱半径=)(G ρ_______________;7. 为使两点数值求积公式:?-+≈111100)()()(x f x f dx x f ωω具有最高的代数精确度,其求积节点应为=0x _____ , =1x _____,==10ωω__________.8. 求积公式)]2()1([23)(30f f dx x f +≈?是否是插值型的__________,其代数精度为___________。
北航研究生数值分析大作业三
数值分析—计算实习作业三学院:17系专业:精密仪器及机械姓名:张大军学号:DY1417114一、程序设计方案程序设计方案流程图如图1所示。
(注:由本人独立完成,并且有几处算法很巧妙,但同时也有许多不足,可以优化和模块化,由于时间原因只实现了调试通过)图1.程序设计方案流程图二、程序源代码#include <iostream.h>#include <iomanip.h>#include <math.h>#include<stdio.h>#include <conio.h>#define M 10000#define N 4#define E 1.0e-12int zuixiaci;static double c[9][9];static double bijin[8][5];int main(){double X[N]={0,0,0,1};double T[11][21],U[11][21],xianshi[11][21];double diertX[N];double F[N];double f[N][N];double Max1=0,Max2=0;int k,i,j,t,tt=0,yao=0;void qiuF(double * X,double *F,int i,int j);void qiuF2(double *X,double *F,int i,int j);void qiuf(double * X,double (*f)[N]);void qiudiertX(double (*a)[N],double*b,double*X); double gouzaohs(double t,double u); void solve_C(double (*U)[21]); void pp(double (*U)[21],int k);for(i=0;i<11;i++)for(j=0;j<21;j++){for(k=0;k<M;k++){qiuF(X,F,i,j);qiuf(X,f);qiudiertX(f,F,diertX);for(t=0;t<N;t++){X[t]=X[t]+diertX[t];}Max1=0,Max2=0;for(t=0;t<N;t++){if(Max1<fabs(X[t]))Max1=fabs(X[t]);if(Max2<fabs(diertX[t]))Max2=fabs(diertX[t]);}if((Max2/Max1)<=E){k=M;yao=1;T[i][j]=X[0];U[i][j]=X[1];xianshi[i][j]=gouzaohs(X[0],X[1]);cout<<setiosflags(ios::scientific)<<setprecision(12);cout<<setprecision(2)<<"("<<setw(5)<<0.08*i<<","<<setw(5)<< (0.5+0.05*j)<<",";cout<<setprecision(12)<<setw(21)<<xianshi[i][j]<<") ";if(tt==3){tt=0;cout<<'\n';cout<<'\n';}else{tt++;}}}if(yao==0)cout<<"迭代不成功"<<endl; yao=0;}cout<<endl;solve_C(xianshi);pp(xianshi,zuixiaci);tt=0;for(i=1;i<9;i++)for(j=1;j<6;j++){for(k=0;k<M;k++){qiuF2(X,F,i,j);qiuf(X,f);qiudiertX(f,F,diertX);for(t=0;t<N;t++){X[t]=X[t]+diertX[t];}Max1=0,Max2=0;for(t=0;t<N;t++){if(Max1<fabs(X[t]))Max1=fabs(X[t]);if(Max2<fabs(diertX[t]))Max2=fabs(diertX[t]);}if((Max2/Max1)<=E){k=M;yao=1;xianshi[i-1][j-1]=gouzaohs(X[0],X[1]);cout<<setiosflags(ios::scientific)<<setprecision(12);cout<<setprecision(2)<<"("<<setw(5)<<0.1*i<<","<<setw(5)<<( 0.5+0.2*j)<<",";cout<<setprecision(12)<<setw(21)<<xianshi[i-1][j-1]<<","<<set w(21)<<bijin[i-1][j-1]<<") ";if(tt==2){tt=0;cout<<'\n';}else{tt++;}}}if(yao==0)cout<<"迭代不成功"<<endl;yao=0;}cout<<endl;return 1;}void qiuF(double *X,double *F,int i,int j){F[0]=-(0.5*cos(X[0])+X[1]+X[2]+X[3]-0.08*i-2.67);F[1]=-(X[0]+0.5*sin(X[1])+X[2]+X[3]-(0.5+0.05*j)-1.07);F[2]=-(0.5*X[0]+X[1]+cos(X[2])+X[3]-0.08*i-3.74);F[3]=-(X[0]+0.5*X[1]+X[2]+sin(X[3])-(0.5+0.05*j)-0.79); }void qiuF2(double *X,double *F,int i,int j){F[0]=-(0.5*cos(X[0])+X[1]+X[2]+X[3]-0.1*i-2.67);F[1]=-(X[0]+0.5*sin(X[1])+X[2]+X[3]-(0.5+0.2*j)-1.07);F[2]=-(0.5*X[0]+X[1]+cos(X[2])+X[3]-0.1*i-3.74);F[3]=-(X[0]+0.5*X[1]+X[2]+sin(X[3])-(0.5+0.2*j)-0.79); }void qiuf(double *X,double (*f)[N]){f[0][0]=-0.5*sin(X[0]);f[0][1]=1;f[0][2]=1;f[0][3]=1;f[1][0]=1;f[1][1]=0.5*cos(X[1]);f[1][2]=1;f[1][3]=1;f[2][0]=0.5;f[2][1]=1;f[2][2]=-sin(X[2]);f[2][3]=1;f[3][0]=1;f[3][1]=0.5;f[3][2]=1;f[3][3]=cos(X[3]);}//求解关于变化X的线性方程组void qiudiertX(double (*a)[N],double*b,double*X) {double H[N][N]={0},l[N]={0};double B;double sum;int i,j,m,k,z;for(k=0;k<N-1;k++){for(j=k;j<N;j++){l[j]=a[k][j];}z=k;for(m=k;m<N;m++){if(fabs(a[z][k])<fabs(a[m][k]))z=m;}for(j=k;j<N;j++){a[k][j]=a[z][j];a[z][j]=l[j];}B=b[k];b[k]=b[z];b[z]=B;for(i=k+1;i<N;i++){H[i][k]=a[i][k]/a[k][k];for(j=k+1;j<N;j++)a[i][j]=a[i][j]-H[i][k]*a[k][j];b[i]=b[i]-H[i][k]*b[k];}}if(a[N-1][N-1]==0){cout<<"算法失效,停止计算"<<endl; }else{X[N-1]=b[N-1]/a[N-1][N-1];for(k=N-2;k>=0;k--){sum=0;for(j=k+1;j<N;j++){sum=sum+a[k][j]*X[j];}X[k]=(b[k]-sum)/a[k][k];}}}//作二元差值,使用分片二次代数插值double gouzaohs(double t,double u){double T[6]={0,0.2,0.4,0.6,0.8,1},U[6]={0,0.4,0.8,1.2,1.6,2};double Z[6][6]={-0.5,-0.34,0.14,0.94,2.06,3.5,-0.42,-0.5,-0.26,0.3,1.18,2.38,-0.18,-0.5,-0.5,-0.18,0.46,1.42,0.22,-0.34,-0.58,-0.5,-0.1,0.62,0.78,-0.02,-0.5,-0.66,-0.5,-0.02,1.5,0.46,-0.26,-0.66,-0.74,-0.5};double g=0,sum=0,sum1=1,sum2=1;int i=0,j=0,k=0,r=0,kk=0,rr=0;for(i=1;(i<6)&&(T[i]-0.1<t);i++){}for(j=1;(j<6)&&(U[j]-0.2<u);j++){}if(i==1)i=2;if(i==6)i=5;if(j==1)j=2;if(j==6)j=5;sum=0;for(k=i-2;k<i+1;k++)for(r=j-2;r<j+1;r++){sum1=1;sum2=1;for(kk=i-2;kk<i+1;kk++){if(k!=kk){sum1=sum1*(t-T[kk])/(T[k]-T[kk]);}}for(rr=j-2;rr<j+1;rr++){if(r!=rr){sum2=sum2*(u-U[rr])/(U[r]-U[rr]);}}sum=sum+sum1*sum2*Z[k][r];}g=sum;return g;}//求r*s阶矩阵A与s*t阶矩阵B的乘积矩阵Cvoid Multi(double *a, double *b, double *c, int la, int lb, int lc, int r, int s, int t){int i, j, k;for (i=0; i<r; i++)for (j=0; j<t; j++){*(c+i*lc+j)=0;for (k=0; k<s; k++)*(c+i*lc+j)+=*(a+i*la+k)*(*(b+k*lb+j));}}//求n阶方阵A的逆矩阵Bdouble Inverse(double *a, double *b, int la, int lb, int n){int i, j, k;double temp;for(i=0; i<n; i++)for(j=0; j<n; j++)if (i==j)*(b+i*lb+j)=1;else*(b+i*lb+j)=0;for (k=0; k<n; k++){j=k;for (i=k+1; i<n; i++)if (fabs(*(a+i*la+k))>fabs(*(a+j*la+k))) j=i;if (j!=k)for (i=0; i<n; i++){temp=*(a+j*la+i);*(a+j*la+i)=*(a+k*la+i);*(a+k*la+i)=temp;temp=*(b+j*lb+i);*(b+j*lb+i)=*(b+k*lb+i);*(b+k*lb+i)=temp;}if (*(a+k*la+k)==0)return 0;if ((temp=*(a+k*la+k))!=1)for (i=0; i<n; i++){*(a+k*la+i)/=temp;*(b+k*lb+i)/=temp;}for (i=0; i<n; i++)if ((*(a+i*la+k)!=0) && (i!=k)){temp=*(a+i*la+k);for (j=0; j<n; j++){*(a+i*la+j)-=temp*(*(a+k*la+j));*(b+i*lb+j)-=temp*(*(b+k*lb+j));}}}return 0;}void solve_C(double (*U)[21]){int i,j,r,s,k;double t1[21][21], t2[21][21], t3[21][21],d[9][9],e[9][9];double B[11][9], B_T[9][11], G[21][9], G_T[9][21],P[11][21];double temp, FangCha;for(i=0;i<9;i++){for(j=0;j<11;j++){B[j][i]=pow(0.08*j,i);B_T[i][j]=pow(0.08*j,i);}for(j=0;j<21;j++){G[j][i]=pow(0.5+0.05*j,i);G_T[i][j]=pow(0.5+0.05*j,i);}}for (k=0; k<9; k++){FangCha=0;Multi(B_T[0], B[0], t1[0], 11, 9, 21, k+1, 11, k+1);Inverse(t1[0], c[0], 21, 9, k+1);Multi(e[0], c[0], d[0], 9, 9, 9, k+1, k+1, k+1);Multi(c[0], B_T[0], t1[0], 9, 11, 21, k+1, k+1, 11);Multi(t1[0], U[0], t2[0], 21, 21, 21, k+1, 11, 21);Multi(G_T[0], G[0], t1[0], 21, 9, 21, k+1, 21, k+1);Inverse(t1[0], c[0], 21, 9, k+1);Multi(G[0], c[0], t3[0], 9, 9, 21, 21, k+1, k+1);Multi(t2[0], t3[0], c[0], 21, 21, 9, k+1, 21, k+1);for(i=0;i<11;i++)for(j=0;j<21;j++){temp=0;for(r=0;r<k+1;r++)for(s=0;s<k+1;s++)temp+=c[r][s]*B[i][r]*G[j][s];P[i][j]=temp;FangCha+=(U[i][j]-temp)*(U[i][j]-temp);}cout<<"k="<<setw(5)<<k<<";"<<setw(5)<<"Sigma="<<FangCha<<" ;\n"<<'\n';if(FangCha<=1.0e-7){zuixiaci=k;cout<<"达到精度要求时: k="<<setw(5)<<k<<";"<<setw(5)<<"Sigma="<<FangCha<<";\n";cout<<" 系数c(r,s)如下:\n";for(i=0;i<k+1;i++){for(j=0;j<k+1;j++){cout<<"C("<<i<<","<<j<<")="<<setw(21)<<c[i][j]<<"; ";}cout<<endl<<'\n';}cout<<endl;return;}}cout<<"经过8次拟合没有达到所需精度;"<<endl;//最高可拟合10次return;}void pp(double (*U)[21],int k){int i,j,r,s;double B[8][9],G[5][9],temp;for(i=0;i<k+1;i++){for(j=0;j<8;j++){B[j][i]=pow(0.1*(j+1),i);}for(j=0;j<5;j++){G[j][i]=pow(0.5+0.2*(j+1),i);}}for(i=0;i<8;i++)for(j=0;j<5;j++){temp=0;for(r=0;r<k+1;r++)for(s=0;s<k+1;s++)temp+=c[r][s]*B[i][r]*G[j][s];bijin[i][j]=temp;}}三、程序运行结果显示程序运行结果显示如图2。
中科院研究生院信息工程学院课件数值分析数值分析第三次作业及答案
数值分析第三次作业及答案1. (P201(4))用梯形方法解初值问题 '0;(0)1,y y y ⎧+=⎨=⎩ 证明其近似解为2,2nn h y h -⎛⎫= ⎪+⎝⎭并证明当0h →时,它收敛于原初值问题的准确解.xy e -=111112111000 [(,)(,)]2(,)()22222222 1,.2,.lim l n n n n n n n n n n n n n n nn n n h hy y f x y f x y hf x y y y y y y h h h y y y y h h h h y y h h n y nh x y +++++++-→=++=-⇒=+-----⎛⎫⎛⎫⎛⎫⇒==== ⎪ ⎪ ⎪+++⎝⎭⎝⎭⎝⎭-⎛⎫=⇒= ⎪+⎝⎭=⇒=证:梯形公式为由因用上述梯形公式以步长经步计算到故有0022im lim 22x nhx h h h h e h h -→→--⎛⎫⎛⎫== ⎪ ⎪++⎝⎭⎝⎭2. (P202(6)) 写出用四阶经典的龙格—库塔方法求解下列初值问题的计算公式:''3,01;,01;(1)1)2)(0)1;(0) 1.y y x y x y x x y y ⎧=<<⎧=+<<⎪+⎨⎨=⎩⎪=⎩ 12113224330.2(,)(,) 1.1()0.1 22221)(,) 1.11()0.112222(,) 1.n n n n n n n n n n n n n n n nn n n n h k f x y x y h h h h k f x y k x y k x y h h h h k f x y k x y k x y k f x h y hk x h y hk ===+=++=+++=++=++=+++=++=++=+++=解:令1123412132431222()0.222(22)0.2214 1.22140.021463/(1)3(0.1)/(10.1)2)3(0.1)/(10.1)3(0.2)/(10.2)0.2(6n n n n n n n n n nn n n n n n x y hy y k k k k x y k y x k y k x k y k x k y k x y y k ++⎧⎪⎪⎪⎨⎪⎪⎪++⎩=++++=++=+⎧⎪=+++⎪⎨=+++⎪⎪=+++⎩=+123422).k k k +++3. (P202(7)) 证明对任意参数t ,下列龙格库塔-公式是二阶的:12312131();2(,);(,);((1),(1)).n n n nn n n n h y y K K K f x y K f x th y thK K f x t h y t hK +⎧=++⎪⎪⎪=⎨⎪=++⎪=+-+-⎪⎩'''2'''31'123'2'()()()()[(,())(,())(,())]23!()[((,)(,)22(,)(,)())((,)(,n n n n x n n y n n n n n n n n n x n n y n n n n n n x n n y h y x y x hy x f x y x f x y x f x y x hh hy y K K y f x y f x y th f x y thf x y O h f x y f x y ζ++=++++=++=++++++证:由一元函数的泰勒展开有又由二元函数的泰勒展开有'22''32''311)(1)(,)(1)(,)())](,)[(,)(,)(,)]()2(),(,())[(,())(,())(,())]()2()y n n n n n n n x n n y n n n n n n n n n n x n n y n n n n n n t h f x y t hf x y O h h y hf x y f x y f x y f x y O h y y x h y y hf x y x f x y x f x y x f x y x O h y x y +++-+-+=++++==++++为考虑局部截断误差,设上式有比较与31111 ()()n n n R y x y O h t +++=-=两式,知其局部误差为故对任意参数,公式是二阶的。
北航数值分析计算实习报告一
北京航空航天大学《数值分析》计算实习报告第一大题学 院:自动化科学与电气工程学院 专 业: 控制科学与工程 学 生 姓 名: 学 号: 教 师: 电 话: 完 成 日 期: 2015年11月6日北京航空航天大学Beijing University of Aeronautics and Astronautics实习题目:第一题 设有501501⨯的实对称矩阵A ,其中,064.0,16.0),501,,2,1(64.0)2.0sin()024.064.1(1.0-==⋅⋅⋅=--=c b i e i i a ii 。
矩阵A 的特征值为)501,,2,1(⋅⋅⋅=i i λ,并且有1.求1λ,501λ和s λ的值。
2.求A 的与数4015011λλλμ-+=kk 最接近的特征值)39,,2,1(⋅⋅⋅=k k i λ。
3.求A 的(谱范数)条件数2)A (cond 和行列式detA 。
说明:1.在所用的算法中,凡是要给出精度水平ε的,都取12-10=ε。
2.选择算法时,应使矩阵A 的所有零元素都不储存。
3.打印以下内容: (1)全部源程序;(2)特征值),,39,...,2,1(,s 5011=k k i λλλλ以及A det ,)A (cond 2的值。
4.采用e 型输出实型数,并且至少显示12位有效数字。
一、算法设计方案1、求1λ,501λ和s λ的值。
由于||min ||,501150121i i s λλλλλ≤≤=≤⋅⋅⋅≤≤,可知绝对值最大特征值必为1λ和501λ其中之一,故可用幂法求出绝对值最大的特征值λ,如果λ=0,则1λ=λ,否则501λ=λ。
将矩阵A 进行一下平移:I -A A'λ= (1)对'A 用幂法求出其绝对值最大的特征值'λ,则A 的另一端点特征值1λ或501λ为'λ+λ。
s λ为按模最小特征值,||min ||5011i i s λλ≤≤=,可对A 使用反幂法求得。
数值分析大作业三次样条插值在船舶邦戎曲线中的应用word精品文档6页
三次样条插值在船舶邦戎曲线中的应用船建学院 B1301095 wj一、计算原理1、三次样条插值原理三次样条插值多项式)(x S n 是一种分段函数,它的应用范围很广,本文探讨该方法在船舶静力学曲线计算和绘制中的应用。
节点i x 011()n n a x x x x b -=<<⋅⋅⋅<<=分成的每个小区间1[,]i i x x -上是3次多项式,其在此区间上的表达式如下:22331111111()[()()]()()666[,]1,2,,.i i i i i i i i i i i i i i ii i h x x h x x S x x x M x x M y M y M h h h x x x i n --------=-+-+-+-∈=⋅⋅⋅,,因此,只要确定了iM 的值,就确定了整个表达式,iM 的计算方法如下:令:11111111116()6(,,)i i i i i i i i i i i i i ii i i i i i i h h h h h h y y y y d f x x x h h h h μλμ++++--+++⎧===-⎪++⎪⎨--⎪=-=⎪+⎩,则iM 满足如下n-1个方程:1121,2,,1i i i i i i M M M d i n μλ-+++==⋅⋅⋅-, 对于第一种边界条件下有⎪⎪⎩⎪⎪⎨⎧-=+-=+---000110111)'],([62]),['(62h f x x M M h x x f f M M n n n n n n如果令,]),['(6,1,)'],[(6,111000100---==-==n n n n n n h x x f f d h f x x f d μλ那么解就可以写为⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----n n n n nn n d d d d M M M M 110110111102222M O OOμλμλμλ2、船舶静力学中的邦戎曲线船舶邦戎曲线是由一组船舶横剖面的面积曲线组成的,其中每条曲线表示该处横剖面在不同水线以下浸入水中的面积。
北航数值分析大作业3
数值分析第三次作业1. 设计方案对Fredholm 积分方程,用迭代法进行求解:()'(())u x A u x =,其中11(())()(,)()A u x g x K x y u y dy -=-⋅⎰对于公式中的积分部分用数值积分方法。
复化梯形积分法,取2601个节点,取迭代次数上限为50次。
实际计算迭代次数为18次,最后算得误差为r= 0.97E-10。
复化Simpson 积分法,取迭代次数上限为50次,取2*41+1,即83个节点时能满足精度要求。
实际计算迭代次数为17次,最后的误差为 r= 0.97E-10。
Guass 积分法选择的Gauss —Legendre 法,取迭代次数上限为50次,直接选择8个节点,满足精度要求。
实际计算迭代次数为24次,最后算得误差为r= 0.87E-10。
2. 全部源程序 module integral implicit none contains!//////////复化梯形 subroutine trapezoid(m) implicit none integer :: i,j,k,mreal*8 :: x(m+1),u(m+1) real*8 :: sum,sum1,g,r,h real*8 :: e=1.0e-10h=2./m do i=1,m+1x(i)=-1.+(i-1)*h end dou=0.02 do k=1,50 do i=1,m+1 sum1=0.g=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.) do j=2,m sum1=sum1+dexp(x(i)*x(j))*u(j) end do sum=h/2.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(m+1)+2*sum1) u(i)=g-sum end dor=h/2.*((dexp(x(1)*4)-u(1))**2+(dexp(x(m+1)*4)-u(m+1))**2) do i=2,mr=r+h*(dexp(x(i)*4)-u(i))**2end doif(dabs(r)<=e) exitend dowrite(*,*) kopen(1,file="trapezoid.txt")do i=1,m+1write(1,'(3(f18.12))') x(i),u(i),dexp(x(i)*4.)end dowrite(1,'(4x,a2,e9.2)') "r=",rclose(1)returnend subroutine trapezoid!///////////复化simpsonsubroutine simpson(m)implicit noneinteger :: i,j,k,mreal*8 :: x(2*m+1),u(2*m+1)real*8 :: sum,sum1,sum2,g,r,hreal*8 :: e=1.0e-10h=2./(2.*m)do i=1,2*m+1x(i)=-1.+(i-1)*hend dou=0.02do k=1,50do i=1,2*m+1sum1=0.sum2=0.g=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.)do j=1,msum1=sum1+dexp(x(i)*x(2*j))*u(2*j)end dodo j=1,m-1sum2=sum2+dexp(x(i)*x(2*j+1))*u(2*j+1)sum=h/3.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(2*m+1)+4*sum1+2*sum2) u(i)=g-sumend dor=h/3.*((dexp(x(1)*4)-u(1))**2+(dexp(x(2*m+1)*4)-u(2*m+1))**2)do i=1,mr=r+4.*h/3.*(dexp(x(2*i)*4)-u(2*i))**2end dodo i=1,m-1r=r+2.*h/3.*(dexp(x(2*i+1)*4)-u(2*i+1))**2end doif(dabs(r)<=e) exitend dowrite(*,*) kopen(2,file="simpson.txt")do i=1,2*m+1write(2,'(3(f18.12))') x(i),u(i),dexp(x(i)*4.)end dowrite(2,'(4x,a2,e9.2)') "r=",rclose(2)returnend subroutine simpson!///////////Gauss_Legendre法subroutine Gaussimplicit noneinteger,parameter :: m=8integer :: i,j,kreal*8 :: x(m),u(m),a(m)real*8 :: sum,g,rreal*8 :: e=1.0e-10data x /-0.9602898565,-0.7966664774,-0.5255324099,-0.1834346425,&0.1834346425,0.5255324099,0.7966664774,0.9602898565/data a /0.1012285363,0.2223810345,0.3137066459,0.3626837834,&0.3626837834,0.3137066459,0.2223810345,0.1012285363/u=0.02do k=1,50do i=1,mg=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.)do j=1,msum=sum+dexp(x(i)*x(j))*u(j)*a(j)end dou(i)=g-sumend dor=0.do i=1,mr=r+a(i)*(dexp(x(i)*4)-u(i))**2end doif(dabs(r)<=e) exitend dowrite(*,*) kopen(3,file="Gauss.txt")do i=1,mwrite(3,'(3(f18.12))') x(i),u(i),dexp(x(i)*4.)end dowrite(3,'(4x,a2,e9.2)') "r=",rclose(3)returnend subroutine Gaussend module!//////////主程序program mainuse integralimplicit noneinteger :: code1=2600integer :: code2=41call trapezoid(code1)call simpson(code2)call Gaussend program3.各种积分方法的节点和数值解(由于数据太多,在打印时用了较计算时少的有效数字)复化Simpson法4.各方法所得曲线(由于所取节点太多,且精度高,所以图中很难看出各曲线的区别。
北航数值分析A大作业3
一、算法设计方案1、解非线性方程组将各拟合节点(x i ,y j )分别带入非线性方程组,求出与(,)i i x y 相对应的数组te[i][j],ue[i][j],求解非线性方程组选择Newton 迭代法,迭代过程中需要求解线性方程组,选择选主元的Doolittle 分解法。
2、二元二次分偏插值对数表z(t,u)进行分片二次代数插值,求得对应(t ij ,u ij )处的值,即为),(j i y x f 的值。
根据给定的数表,可将整个插值区域分成 16 个小 的区域,故先判断(t i j , u ij ) 所在,的区域,再作此区域的插值,计算 z ij ,相应的Lagrange 形式的插值多项式为:°112211(,)()()(,)m n krkrk m r n p t u l t l u f t u ++=-=-=∑∑其中11()m wk w m k ww kt t l t t t +=-≠-=-∏ (k=m-1, m, m+1) °11()n wr w n r ww ry y l u y y +=-≠-=-∏ (r=n-1, n, n+1)3、曲面拟合从k=1开始逐渐增大k 的值,使用最小二乘法曲面拟合法对z=f(x,y)进行拟合,当710-<σ时结束计算。
拟合基函数φr (x)ψs (y)选择为φr (x)=x r ,ψs (y)=y s 。
拟合系数矩阵c 通过连续两次解线性方程组求得。
[]rsc *=C ,11()()T T T --=C B B B UG G G其中011101011[()]1kk r i k x x x x x x x ϕ⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎣⎦B L LM M M M L ,0011101011[()]1k k s j k y y y y G y y y ψ⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎣⎦L LM M M M L [(,)]i j f x y =U4、观察比较计算)5,,2,1,8,,2,1)(,(),,(****⋅⋅⋅=⋅⋅⋅=j i y x p y x f j i j i 的值并输出结果,以观察),(y x p 逼近),(y x f 的效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析第三次大作业一、算法的设计方案:(一)、总体方案设计:x y当作已知量代入题目给定的非线性方程组,求(1)解非线性方程组。
将给定的(,)i i得与(,)i i x y 相对应的数组t[i][j],u[i][j]。
(2)分片二次代数插值。
通过分片二次代数插值运算,得到与数组t[11][21],u[11][21]]对应的数组z[11][21],得到二元函数z=(,)i i f x y 。
(3)曲面拟合。
利用x[i],y[j],z[11][21]建立二维函数表,再根据精度的要求选择适当k 值,并得到曲面拟合的系数矩阵C[r][s]。
(4)观察和(,)i i p x y 的逼近效果。
观察逼近效果只需要重复上面(1)和(2)的过程,得到与新的插值节点(,)i i x y 对应的(,)i i f x y ,再与对应的(,)i i p x y 比较即可,这里求解(,)i i p x y 可以直接使用(3)中的C[r][s]和k 。
(二)具体算法设计:(1)解非线性方程组牛顿法解方程组()0F x =的解*x ,可采用如下算法: 1)在*x 附近选取(0)x D ∈,给定精度水平0ε>和最大迭代次数M 。
2)对于0,1,k M =执行① 计算()()k F x和()()k F x '。
② 求解关于()k x∆的线性方程组()()()()()k k k F x x F x '∆=-③ 若()()k k x x ε∞∞∆≤,则取*()k x x ≈,并停止计算;否则转④。
④ 计算(1)()()k k k xx x +=+∆。
⑤ 若k M <,则继续,否则,输出M 次迭代不成功的信息,并停止计算。
(2)分片双二次插值给定已知数表以及需要插值的节点,进行分片二次插值的算法:设已知数表中的点为: 00(0,1,,)(0,1,,)i jx x ih i n y y j j m τ=+=⎧⎪⎨=+=⎪⎩ ,需要插值的节点为(,)x y 。
1) 根据(,)x y 选择插值节点(,)i j x y :若12h x x ≤+或12n hx x ->-,插值节点对应取1i =或1i n =-,若12y y τ≤+或12n y y τ->-,插值节点对应取1j =或1i m =-。
若,2222,2222i i j j h h x x x i n y y y j m ττ⎧-<≤+≤≤-⎪⎪⎨⎪-<≤+≤≤-⎪⎩则选择(,)(1,,1;1,,1)k r x y k i i i r j j j =-+=-+为插值节点。
2)计算1111()(1,,1)()(1,,1)i tk t i k tt k j tr t j r tt rx x l x k i i i x x y y l y r j j j yy +=-≠+=-≠-==-+--==-+-∏∏插值多项式的公式为:1111(,)()()(,)j i krkrk i r j p x y l x l y f x y ++=-=-=∑∑注:本步进行插值运算的是(,)t u ,利用(,)i j x y 与(,)t u 的对应关系就可以得到z 与(,)i j x y 的对应关系。
(3)曲面拟合根据插值得到的数表,,(,)i j i j x y f x y 进行曲面拟合的过程: 1) 根据拟合节点和基底函数写出矩阵B 和G :10000111101()()()()()()()()()k k k nn n x x x x x x B x x x ⎛⎫⎪⎪= ⎪⎪ ⎪⎝⎭ 010000111101()()()()()()()()()k k k mm m y y y y y y G y y y ⎛⎫⎪⎪= ⎪ ⎪ ⎪⎝⎭2) 计算 11()()TTTC B B B UG G G --=。
在这里,为了简化计算和编程、避免矩阵求逆,记:1()T T A B B B U -=,1()T T D G G G -=对上面两式进行变形,得到如下两个线性方程组:()T T B B A B U =,()T T G G D G =通过解上述两个线性方程组,则有:TC AD =3) 对于每一个(,)i j x y ,*00(,)()()k kr s i j rs i j r s p x y C x y ===∑∑。
4) 拟合需要达到的精度条件为:*2700[(,)]10n mijiji j p x y uσ-===-≤∑∑。
其中ij u 对应着插值得到的数表,,(,)i j i j x y f x y 中(,)i j f x y 的值。
5) 让k 逐步增加,每一次重复执行以上几步,直到*2700[(,)]10n mi j ij i j p x y u σ-===-≤∑∑ 成立。
此时的k 值就是要求解最小的k 。
二、源程序:#include<stdio.h> #include<iostream> #include<stdlib.h> #include<math.h> #include<float.h> #include<iomanip>#define Epsilon1 1e-12 /*解线性方程组时近似解向量的精度*/ #define M 200 /*解线性方程组时的最大迭代次数*/ #define N 10 /*求解迭代次数时假设的k 的最大值,用于定义包含k 的存储空间*/void Newton(); /*牛顿法求解非线性方程组子程序*/ void fpeccz(); /*分片二次代数插值子程序*/ void qmnh(); /*曲面拟合子程序*/void duibi(); /*对比f 和p 逼近效果的子程序*/double x[11],y[21],t[11][21],u[11][21];/*定义全局变量*/ double z[11][21],C[10][10]; double kz;void Newton(double x[11],double y[21])/*牛顿法求解非线性方程组子程序*/ {double X[4],dx[4],F[4],dF[4][4],temp,m,fx,fX; int i,j,k,l,p,ik,n;for(i=0;i<=10;i++) {for(j=0;j<=20;j++) {X[0]=1; /*选取迭代初始向量,四个分别代表t,u,v,w*/ X[1]=1;X[2]=1;X[3]=1;n=0;loop1:{ F[0]=0.5*cos(X[0])+X[1]+X[2]+X[3]-x[i]-2.67;F[1]=X[0]+0.5*sin(X[1])+X[2]+X[3]-y[j]-1.07;F[2]=0.5*X[0]+X[1]+cos(X[2])+X[3]-x[i]-3.74;F[3]=X[0]+0.5*X[1]+X[2]+sin(X[3])-y[j]-0.79;/*求解F(x)*/dF[0][0]=-0.5*sin(X[0]); /*求解F'(x)*/dF[0][1]=1;dF[0][2]=1;dF[0][3]=1;dF[1][0]=1;dF[1][1]=0.5*cos(X[1]);dF[1][2]=1;dF[1][3]=1;dF[2][0]=0.5;dF[2][1]=1;dF[2][2]=-sin(X[2]);dF[2][3]=1;dF[3][0]=1;dF[3][1]=0.5;dF[3][2]=1;dF[3][3]=cos(X[3]);/*高斯选主元消去法求解Δx*/for(k=0;k<3;k++){ik=k;for(l=k;l<=3;l++){if(dF[ik][k]<dF[l][k])ik=l;} /*选主元*/temp=0;temp=F[ik];F[ik]=F[k];F[k]=temp;for(l=k;l<=3;l++){ temp=0;temp=dF[ik][l]; dF[ik][l]=dF[k][l];dF[k][l]=temp; }for(l=k+1;l<=3;l++) {m=dF[l][k]/dF[k][k]; F[l]=F[l]-m*F[k]; for(p=k+1;p<=3;p++){dF[l][p]=dF[l][p]-m*dF[k][p];} } /*消去过程*/ }dx[3]=-F[3]/dF[3][3]; for(k=2;k>=0;k--) {temp=0;for(l=k+1;l<=3;l++){temp=temp+dF[k][l]*dx[l]/dF[k][k];} dx[k]=-F[k]/dF[k][k]-temp; }temp=0;for(l=0;l<=3;l++) /*求解矩阵数,用无穷数*/ {if(temp<fabs(dx[l])) temp=fabs(dx[l]); }fx=temp;temp=0;for(l=0;l<=3;l++) {if(temp<fabs(X[l])) temp=fabs(X[l]); }fX=temp;if(fabs(fx/fX)<Epsilon1) /*判断()()k k x x ε∞∞∆≤是否成立*/{ t[i][j]=X[0]; u[i][j]=X[1];goto loop4;}else{ for(l=0;l<=3;l++){X[l]=X[l]+dx[l];}n=n+1;goto loop3;}}loop3:{if(n<M) /*判断是否超出规定迭代次数*/goto loop1;elseprintf("迭代不成功\n");goto loop4; }loop4:{continue;}}}}void fpeccz(double t[11][21],double u[11][21])/*分片二次代数插值子程序*/ {int s[11][21],r[11][21];int i,j,i1,j1,m;double z0[6][6]={{-0.5,-0.34,0.14,0.94,2.06,3.5},{-0.42,-0.5,-0.26,0.3,1.18,2.38},{-0.18,-0.5,-0.5,-0.18,0.46,1.42},{0.22,-0.34,-0.58,-0.5,-0.1,0.62},{0.78,-0.02,-0.5,-0.66,-0.5,-0.02},{1.5,0.46,-0.26,-0.66,-0.74,-0.5}};double t0[6]={0,0.2,0.4,0.6,0.8,1.0};double u0[6]={0,0.4,0.8,1.2,1.6,2.0};double temp1,temp2;for(i=0;i<=10;i++) /*选取插值节点*/{for(j=0;j<=20;j++){if(t[i][j]<=0.3) s[i][j]=1;else if(t[i][j]>0.7) s[i][j]=4;else{for(m=2;m<=3;m++){if((t[i][j]>0.2*m-0.1)&&(t[i][j]<=0.2*m+0.1)){s[i][j]=m;}}}}}for(i=0;i<=10;i++){for(j=0;j<=20;j++){if(u[i][j]<=0.6) r[i][j]=1;else if(u[i][j]>1.4) r[i][j]=4;else{for(m=2;m<=3;m++){if((u[i][j]>0.4*m-0.2)&&(u[i][j]<=0.4*m+0.2)){r[i][j]=m;}}}}}for(i=0;i<=10;i++) /*插值运算*/{for(j=0;j<=20;j++){z[i][j]=0;for(i1=s[i][j]-1;i1<=s[i][j]+1;i1++){for(j1=r[i][j]-1;j1<=r[i][j]+1;j1++){temp1=1.0;for(m=s[i][j]-1;m<=s[i][j]+1;m++){ if(m!=i1) temp1*=(t[i][j]-t0[m])/(t0[i1]-t0[m]); } temp2=1.0;for(m=r[i][j]-1;m<=r[i][j]+1;m++){ if(m!=j1) temp2*=(u[i][j]-u0[m])/(u0[j1]-u0[m]); } z[i][j]+=temp1*temp2*z0[i1][j1];}}}}}void qmnh() /*曲面拟合子程序*/{ int i,j,k,m,l,i1,j1,ik;doubleA[N][21],D[N][21],B[11][N],Bt[N][11],BtB[N][N],BtU[N][21],BtB1[N][N]; double G[21][N],Gt[N][21],GtG[N][N],GtG1[N][N];double sigma,p[11][21],temp,q;printf("选择过程的k和sigma值:\n");k=0;sigma=1; /*选取初值,使循环开始*//*求解系数矩阵Crs*/while(sigma>1e-7){for(i=0;i<=10;i++){for(j=0;j<=k;j++){B[i][j]=pow(x[i],j);Bt[j][i]=B[i][j];}}for(i=0;i<=k;i++){for(j=0;j<=k;j++){temp=0;for(l=0;l<=10;l++){ temp+=Bt[i][l]*B[l][j]; }BtB[i][j]=temp;}}for(i=0;i<=k;i++){for(j=0;j<=20;j++){temp=0;for(l=0;l<=10;l++){ temp+=Bt[i][l]*z[l][j]; }BtU[i][j]=temp;}}for(l=0;l<=20;l++){for(i=0;i<=k;i++){for(j=0;j<=k;j++){ BtB1[i][j]=BtB[i][j]; }}for(m=0;m<=k-1;m++){ik=m;for(i=m;i<=k-1;i++){if(fabs(BtB1[i][m])<fabs(BtB1[i+1][m])) ik=i+1;else ;}if(ik!=m){for(i=m;i<=k;i++){temp=BtB1[m][i];BtB1[m][i]=BtB1[ik][i];BtB1[ik][i]=temp;}temp=BtU[m][l];BtU[m][l]=BtU[ik][l];BtU[ik][l]=temp;}for(i=m+1;i<=k;i++){q=BtB1[i][m]/BtB1[m][m];for(j=m;j<=k;j++){ BtB1[i][j]=BtB1[i][j]-q*BtB1[m][j]; }BtU[i][l]=BtU[i][l]-q*BtU[m][l];}}A[k][l]=BtU[k][l]/BtB1[k][k];for(m=k-1;m>=0;m--){temp=0;for(i=m+1;i<=k;i++){ temp+=A[i][l]*BtB1[m][i]; }A[m][l]=(BtU[m][l]-temp)/BtB1[m][m];}}for(i=0;i<=20;i++){for(j=0;j<=k;j++){G[i][j]=pow(y[i],j);Gt[j][i]=G[i][j];}}for(i=0;i<=k;i++){for(j=0;j<=k;j++){temp=0;for(m=0;m<=20;m++){ temp+=Gt[i][m]*G[m][j]; }GtG[i][j]=temp;}}for(l=0;l<=20;l++){for(i=0;i<=k;i++){for(j=0;j<=k;j++){ GtG1[i][j]=GtG[i][j]; }}for(m=0;m<=k-1;m++){ik=m;for(i=m;i<=k-1;i++){if(fabs(GtG1[i][m])<fabs(GtG1[i+1][m])) ik=i+1;else ;}if(ik!=m){for(i=m;i<=k;i++){temp=GtG1[m][i];GtG1[m][i]=GtG1[ik][i];GtG1[ik][i]=temp;}temp=Gt[m][l];Gt[m][l]=Gt[ik][l];Gt[ik][l]=temp;}for(i=m+1;i<=k;i++){q=GtG1[i][m]/GtG1[m][m];for(j=m;j<=k;j++){ GtG1[i][j]=GtG1[i][j]-q*GtG1[m][j]; } Gt[i][l]=Gt[i][l]-q*Gt[m][l];}}D[k][l]=Gt[k][l]/GtG1[k][k];for(m=k-1;m>=0;m--){temp=0;for(i=m+1;i<=k;i++){ temp+=D[i][l]*GtG1[m][i]; }D[m][l]=(Gt[m][l]-temp)/GtG1[m][m];}}for(i=0;i<=k;i++){for(j=0;j<=k;j++){temp=0;for(m=0;m<=20;m++){ temp+=A[i][m]*D[j][m]; }C[i][j]=temp;}}sigma=0;/*归零,开始计算sigma值*/for(i=0;i<=10;i++){for(j=0;j<=20;j++){p[i][j]=0;for(i1=0;i1<=k;i1++){for(j1=0;j1<=k;j1++){ p[i][j]+=C[i1][j1]*pow(x[i],i1)*pow(y[j],j1); } }sigma+=pow(p[i][j]-z[i][j],2);} }printf("k=%d sigma=%.12e\n",k,sigma);k=k+1; }k--;printf("达到精度要求时的k和sigma值:\n");printf("k=%d sigma=%.12e\n",k,sigma);kz=k; /*定义为全局变量,便于duibi()调用*/}void duibi() /*对比f和p逼近效果的子程序*/{ int i,j,i1,j1;double p[8][5];for(i=0;i<=7;i++){for(j=0;j<=4;j++){x[i]=0.1*(i+1);y[j]=0.5+0.2*(j+1);}} /*重新输入节点*/Newton(x,y);fpeccz(t,u); /*求解f(x*,y*)*/for(i=0;i<=7;i++) /*求解p(x*,y*)*/{for(j=0;j<=4;j++){p[i][j]=0;for(i1=0;i1<=kz;i1++){for(j1=0;j1<=kz;j1++){ p[i][j]+=C[i1][j1]*pow(x[i],i1)*pow(y[j],j1); }}printf("x[%d]=%.6f y[%d]=%.6f\n",i+1,x[i],j+1,y[j]);printf("f(x[%d],y[%d])=%.12e\n",i+1,j+1,z[i][j]);printf("p(x[%d],y[%d])=%.12e\n",i+1,j+1,p[i][j]);printf("σ=%.12e\n",z[i][j]-p[i][j]);}/*数表x i*,y i*,f (x i*,y i*),p(x i*,y i*)*/} }void main(){ int i,j;for(i=0;i<=10;i++){for(j=0;j<=20;j++){x[i]=0.08*i;y[j]=0.5+0.05*j;}} /*输入节点*/Newton(x,y);fpeccz(t,u);for(i=0;i<=10;i++){for(j=0;j<=20;j++){printf("x[%d]=%.6f y[%d]=%.6f z[%d][%d]=%.12e \n",i,x[i],j,y[j],i,j,z[i][j]);}} /*数表:x i,y i,f (x i,y i)*/qmnh();for(i=0;i<=kz;i++){for(j=0;j<=kz;j++){printf("C[%d][%d]=%.12e \n",i,j,C[i][j]);}}/*数表:C[r][s]*/duibi();}三、运行结果输出1、数表数表:x i,y i,f(x i,y i)x[0]=0.000000 y[0]=0.500000 z[0][0]=4.7e-001x[0]=0.000000 y[1]=0.550000 z[0][1]=3.7e-001x[0]=0.000000 y[2]=0.600000 z[0][2]=2.7e-001x[0]=0.000000 y[3]=0.650000 z[0][3]=1.0e-001x[0]=0.000000 y[5]=0.750000 z[0][5]=-8.0e-002 x[0]=0.000000 y[6]=0.800000 z[0][6]=-1.7e-001 x[0]=0.000000 y[7]=0.850000 z[0][7]=-2.6e-001 x[0]=0.000000 y[8]=0.900000 z[0][8]=-3.6e-001 x[0]=0.000000 y[9]=0.950000 z[0][9]=-3.7e-001 x[0]=0.000000 y[10]=1.000000 z[0][10]=-4.4e-001 x[0]=0.000000 y[11]=1.050000 z[0][11]=-4.8e-001 x[0]=0.000000 y[12]=1.100000 z[0][12]=-5.5e-001 x[0]=0.000000 y[13]=1.150000 z[0][13]=-5.5e-001 x[0]=0.000000 y[14]=1.200000 z[0][14]=-5.7e-001 x[0]=0.000000 y[15]=1.250000 z[0][15]=-6.9e-001 x[0]=0.000000 y[16]=1.300000 z[0][16]=-6.4e-001 x[0]=0.000000 y[17]=1.350000 z[0][17]=-6.6e-001 x[0]=0.000000 y[18]=1.400000 z[0][18]=-6.8e-001 x[0]=0.000000 y[19]=1.450000 z[0][19]=-6.4e-001 x[0]=0.000000 y[20]=1.500000 z[0][20]=-6.4e-001 x[1]=0.080000 y[0]=0.500000 z[1][0]=6.3e-001x[1]=0.080000 y[1]=0.550000 z[1][1]=5.7e-001x[1]=0.080000 y[2]=0.600000 z[1][2]=3.4e-001x[1]=0.080000 y[3]=0.650000 z[1][3]=2.7e-001x[1]=0.080000 y[4]=0.700000 z[1][4]=1.8e-001x[1]=0.080000 y[5]=0.750000 z[1][5]=5.4e-002x[1]=0.080000 y[6]=0.800000 z[1][6]=-4.0e-002 x[1]=0.080000 y[7]=0.850000 z[1][7]=-1.5e-001 x[1]=0.080000 y[8]=0.900000 z[1][8]=-2.8e-001 x[1]=0.080000 y[9]=0.950000 z[1][9]=-2.0e-001 x[1]=0.080000 y[10]=1.000000 z[1][10]=-3.4e-001 x[1]=0.080000 y[11]=1.050000 z[1][11]=-4.2e-001 x[1]=0.080000 y[12]=1.100000 z[1][12]=-4.8e-001 x[1]=0.080000 y[13]=1.150000 z[1][13]=-5.5e-001 x[1]=0.080000 y[14]=1.200000 z[1][14]=-5.3e-001 x[1]=0.080000 y[15]=1.250000 z[1][15]=-5.1e-001 x[1]=0.080000 y[16]=1.300000 z[1][16]=-6.5e-001 x[1]=0.080000 y[17]=1.350000 z[1][17]=-6.8e-001 x[1]=0.080000 y[18]=1.400000 z[1][18]=-6.3e-001 x[1]=0.080000 y[19]=1.450000 z[1][19]=-6.1e-001 x[1]=0.080000 y[20]=1.500000 z[1][20]=-6.6e-001 x[2]=0.160000 y[0]=0.500000 z[2][0]=8.6e-001x[2]=0.160000 y[1]=0.550000 z[2][1]=6.2e-001x[2]=0.160000 y[2]=0.600000 z[2][2]=5.7e-001x[2]=0.160000 y[3]=0.650000 z[2][3]=4.6e-001x[2]=0.160000 y[4]=0.700000 z[2][4]=3.8e-001x[2]=0.160000 y[5]=0.750000 z[2][5]=2.4e-001x[2]=0.160000 y[7]=0.850000 z[2][7]=2.7e-003x[2]=0.160000 y[8]=0.900000 z[2][8]=-8.8e-002 x[2]=0.160000 y[9]=0.950000 z[2][9]=-1.8e-001 x[2]=0.160000 y[10]=1.000000 z[2][10]=-2.9e-001 x[2]=0.160000 y[11]=1.050000 z[2][11]=-3.6e-001 x[2]=0.160000 y[12]=1.100000 z[2][12]=-3.6e-001 x[2]=0.160000 y[13]=1.150000 z[2][13]=-4.5e-001 x[2]=0.160000 y[14]=1.200000 z[2][14]=-4.6e-001 x[2]=0.160000 y[15]=1.250000 z[2][15]=-5.8e-001 x[2]=0.160000 y[16]=1.300000 z[2][16]=-5.1e-001 x[2]=0.160000 y[17]=1.350000 z[2][17]=-5.1e-001 x[2]=0.160000 y[18]=1.400000 z[2][18]=-6.3e-001 x[2]=0.160000 y[19]=1.450000 z[2][19]=-6.2e-001 x[2]=0.160000 y[20]=1.500000 z[2][20]=-6.8e-001 x[3]=0.240000 y[0]=0.500000 z[3][0]=1.3e+000x[3]=0.240000 y[1]=0.550000 z[3][1]=9.0e-001x[3]=0.240000 y[2]=0.600000 z[3][2]=7.6e-001x[3]=0.240000 y[3]=0.650000 z[3][3]=6.6e-001x[3]=0.240000 y[4]=0.700000 z[3][4]=4.9e-001x[3]=0.240000 y[5]=0.750000 z[3][5]=3.6e-001x[3]=0.240000 y[6]=0.800000 z[3][6]=2.3e-001x[3]=0.240000 y[7]=0.850000 z[3][7]=1.2e-001x[3]=0.240000 y[8]=0.900000 z[3][8]=4.7e-002x[3]=0.240000 y[9]=0.950000 z[3][9]=-4.6e-002 x[3]=0.240000 y[10]=1.000000 z[3][10]=-1.9e-001 x[3]=0.240000 y[11]=1.050000 z[3][11]=-2.4e-001 x[3]=0.240000 y[12]=1.100000 z[3][12]=-2.8e-001 x[3]=0.240000 y[13]=1.150000 z[3][13]=-3.7e-001 x[3]=0.240000 y[14]=1.200000 z[3][14]=-4.6e-001 x[3]=0.240000 y[15]=1.250000 z[3][15]=-4.5e-001 x[3]=0.240000 y[16]=1.300000 z[3][16]=-5.7e-001 x[3]=0.240000 y[17]=1.350000 z[3][17]=-5.1e-001 x[3]=0.240000 y[18]=1.400000 z[3][18]=-5.9e-001 x[3]=0.240000 y[19]=1.450000 z[3][19]=-6.2e-001 x[3]=0.240000 y[20]=1.500000 z[3][20]=-6.9e-001 x[4]=0.320000 y[0]=0.500000 z[4][0]=1.3e+000x[4]=0.320000 y[1]=0.550000 z[4][1]=1.7e+000x[4]=0.320000 y[2]=0.600000 z[4][2]=9.7e-001x[4]=0.320000 y[3]=0.650000 z[4][3]=8.1e-001x[4]=0.320000 y[4]=0.700000 z[4][4]=6.5e-001x[4]=0.320000 y[5]=0.750000 z[4][5]=5.5e-001x[4]=0.320000 y[6]=0.800000 z[4][6]=4.8e-001x[4]=0.320000 y[7]=0.850000 z[4][7]=3.2e-001x[4]=0.320000 y[9]=0.950000 z[4][9]=9.1e-002x[4]=0.320000 y[10]=1.000000 z[4][10]=-4.3e-003 x[4]=0.320000 y[11]=1.050000 z[4][11]=-9.9e-002 x[4]=0.320000 y[12]=1.100000 z[4][12]=-1.0e-001 x[4]=0.320000 y[13]=1.150000 z[4][13]=-2.6e-001 x[4]=0.320000 y[14]=1.200000 z[4][14]=-3.5e-001 x[4]=0.320000 y[15]=1.250000 z[4][15]=-3.4e-001 x[4]=0.320000 y[16]=1.300000 z[4][16]=-4.5e-001 x[4]=0.320000 y[17]=1.350000 z[4][17]=-4.7e-001 x[4]=0.320000 y[18]=1.400000 z[4][18]=-5.4e-001 x[4]=0.320000 y[19]=1.450000 z[4][19]=-5.1e-001 x[4]=0.320000 y[20]=1.500000 z[4][20]=-6.6e-001 x[5]=0.400000 y[0]=0.500000 z[5][0]=1.2e+000x[5]=0.400000 y[1]=0.550000 z[5][1]=1.6e+000x[5]=0.400000 y[2]=0.600000 z[5][2]=1.9e+000x[5]=0.400000 y[3]=0.650000 z[5][3]=1.0e+000x[5]=0.400000 y[4]=0.700000 z[5][4]=8.4e-001x[5]=0.400000 y[5]=0.750000 z[5][5]=7.5e-001x[5]=0.400000 y[6]=0.800000 z[5][6]=6.1e-001x[5]=0.400000 y[7]=0.850000 z[5][7]=4.6e-001x[5]=0.400000 y[8]=0.900000 z[5][8]=3.8e-001x[5]=0.400000 y[9]=0.950000 z[5][9]=2.4e-001x[5]=0.400000 y[10]=1.000000 z[5][10]=1.5e-001 x[5]=0.400000 y[11]=1.050000 z[5][11]=3.9e-002 x[5]=0.400000 y[12]=1.100000 z[5][12]=-5.4e-002 x[5]=0.400000 y[13]=1.150000 z[5][13]=-1.7e-001 x[5]=0.400000 y[14]=1.200000 z[5][14]=-2.9e-001 x[5]=0.400000 y[15]=1.250000 z[5][15]=-2.8e-001 x[5]=0.400000 y[16]=1.300000 z[5][16]=-3.8e-001 x[5]=0.400000 y[17]=1.350000 z[5][17]=-4.0e-001 x[5]=0.400000 y[18]=1.400000 z[5][18]=-4.5e-001 x[5]=0.400000 y[19]=1.450000 z[5][19]=-5.2e-001 x[5]=0.400000 y[20]=1.500000 z[5][20]=-5.1e-001 x[6]=0.480000 y[0]=0.500000 z[6][0]=1.3e+000x[6]=0.480000 y[1]=0.550000 z[6][1]=1.9e+000x[6]=0.480000 y[2]=0.600000 z[6][2]=1.8e+000x[6]=0.480000 y[3]=0.650000 z[6][3]=1.9e+000x[6]=0.480000 y[4]=0.700000 z[6][4]=1.8e+000x[6]=0.480000 y[5]=0.750000 z[6][5]=9.9e-001x[6]=0.480000 y[6]=0.800000 z[6][6]=7.7e-001x[6]=0.480000 y[7]=0.850000 z[6][7]=6.2e-001x[6]=0.480000 y[8]=0.900000 z[6][8]=5.0e-001x[6]=0.480000 y[9]=0.950000 z[6][9]=4.2e-001x[6]=0.480000 y[11]=1.050000 z[6][11]=1.6e-001 x[6]=0.480000 y[12]=1.100000 z[6][12]=8.3e-002 x[6]=0.480000 y[13]=1.150000 z[6][13]=-1.4e-002 x[6]=0.480000 y[14]=1.200000 z[6][14]=-1.0e-001 x[6]=0.480000 y[15]=1.250000 z[6][15]=-1.6e-001 x[6]=0.480000 y[16]=1.300000 z[6][16]=-2.9e-001 x[6]=0.480000 y[17]=1.350000 z[6][17]=-3.0e-001 x[6]=0.480000 y[18]=1.400000 z[6][18]=-3.8e-001 x[6]=0.480000 y[19]=1.450000 z[6][19]=-4.6e-001 x[6]=0.480000 y[20]=1.500000 z[6][20]=-5.2e-001 x[7]=0.560000 y[0]=0.500000 z[7][0]=1.0e+000x[7]=0.560000 y[1]=0.550000 z[7][1]=1.1e+000x[7]=0.560000 y[2]=0.600000 z[7][2]=1.8e+000x[7]=0.560000 y[3]=0.650000 z[7][3]=1.8e+000x[7]=0.560000 y[4]=0.700000 z[7][4]=1.2e+000x[7]=0.560000 y[5]=0.750000 z[7][5]=1.7e+000x[7]=0.560000 y[6]=0.800000 z[7][6]=9.3e-001x[7]=0.560000 y[7]=0.850000 z[7][7]=8.4e-001x[7]=0.560000 y[8]=0.900000 z[7][8]=7.1e-001x[7]=0.560000 y[9]=0.950000 z[7][9]=5.9e-001x[7]=0.560000 y[10]=1.000000 z[7][10]=4.4e-001 x[7]=0.560000 y[11]=1.050000 z[7][11]=3.4e-001 x[7]=0.560000 y[12]=1.100000 z[7][12]=2.6e-001 x[7]=0.560000 y[13]=1.150000 z[7][13]=1.2e-001 x[7]=0.560000 y[14]=1.200000 z[7][14]=2.0e-002 x[7]=0.560000 y[15]=1.250000 z[7][15]=-6.4e-002 x[7]=0.560000 y[16]=1.300000 z[7][16]=-1.9e-001 x[7]=0.560000 y[17]=1.350000 z[7][17]=-2.7e-001 x[7]=0.560000 y[18]=1.400000 z[7][18]=-3.3e-001 x[7]=0.560000 y[19]=1.450000 z[7][19]=-3.1e-001 x[7]=0.560000 y[20]=1.500000 z[7][20]=-4.9e-001 x[8]=0.640000 y[0]=0.500000 z[8][0]=2.8e+000x[8]=0.640000 y[1]=0.550000 z[8][1]=2.7e+000x[8]=0.640000 y[2]=0.600000 z[8][2]=1.9e+000x[8]=0.640000 y[3]=0.650000 z[8][3]=1.1e+000x[8]=0.640000 y[4]=0.700000 z[8][4]=1.0e+000x[8]=0.640000 y[5]=0.750000 z[8][5]=1.1e+000x[8]=0.640000 y[6]=0.800000 z[8][6]=1.3e+000x[8]=0.640000 y[7]=0.850000 z[8][7]=1.9e+000x[8]=0.640000 y[8]=0.900000 z[8][8]=9.3e-001x[8]=0.640000 y[9]=0.950000 z[8][9]=7.9e-001x[8]=0.640000 y[10]=1.000000 z[8][10]=6.3e-001 x[8]=0.640000 y[11]=1.050000 z[8][11]=5.2e-001x[8]=0.640000 y[13]=1.150000 z[8][13]=2.0e-001 x[8]=0.640000 y[14]=1.200000 z[8][14]=1.6e-001 x[8]=0.640000 y[15]=1.250000 z[8][15]=6.6e-002 x[8]=0.640000 y[16]=1.300000 z[8][16]=-3.2e-002 x[8]=0.640000 y[17]=1.350000 z[8][17]=-1.4e-001 x[8]=0.640000 y[18]=1.400000 z[8][18]=-2.8e-001 x[8]=0.640000 y[19]=1.450000 z[8][19]=-2.4e-001 x[8]=0.640000 y[20]=1.500000 z[8][20]=-3.0e-001 x[9]=0.720000 y[0]=0.500000 z[9][0]=2.9e+000x[9]=0.720000 y[1]=0.550000 z[9][1]=2.8e+000x[9]=0.720000 y[2]=0.600000 z[9][2]=2.0e+000x[9]=0.720000 y[3]=0.650000 z[9][3]=1.7e+000x[9]=0.720000 y[4]=0.700000 z[9][4]=1.6e+000x[9]=0.720000 y[5]=0.750000 z[9][5]=1.4e+000x[9]=0.720000 y[6]=0.800000 z[9][6]=1.1e+000x[9]=0.720000 y[7]=0.850000 z[9][7]=1.8e+000x[9]=0.720000 y[8]=0.900000 z[9][8]=1.8e+000x[9]=0.720000 y[9]=0.950000 z[9][9]=9.3e-001x[9]=0.720000 y[10]=1.000000 z[9][10]=8.9e-001 x[9]=0.720000 y[11]=1.050000 z[9][11]=6.9e-001 x[9]=0.720000 y[12]=1.100000 z[9][12]=5.3e-001 x[9]=0.720000 y[13]=1.150000 z[9][13]=4.1e-001 x[9]=0.720000 y[14]=1.200000 z[9][14]=3.8e-001 x[9]=0.720000 y[15]=1.250000 z[9][15]=2.7e-001 x[9]=0.720000 y[16]=1.300000 z[9][16]=1.9e-001 x[9]=0.720000 y[17]=1.350000 z[9][17]=3.2e-003 x[9]=0.720000 y[18]=1.400000 z[9][18]=-8.9e-002 x[9]=0.720000 y[19]=1.450000 z[9][19]=-1.8e-001 x[9]=0.720000 y[20]=1.500000 z[9][20]=-2.3e-001 x[10]=0.800000 y[0]=0.500000 z[10][0]=2.7e+000 x[10]=0.800000 y[1]=0.550000 z[10][1]=2.5e+000 x[10]=0.800000 y[2]=0.600000 z[10][2]=2.0e+000 x[10]=0.800000 y[3]=0.650000 z[10][3]=2.0e+000 x[10]=0.800000 y[4]=0.700000 z[10][4]=1.2e+000 x[10]=0.800000 y[5]=0.750000 z[10][5]=1.9e+000 x[10]=0.800000 y[6]=0.800000 z[10][6]=1.4e+000 x[10]=0.800000 y[7]=0.850000 z[10][7]=1.1e+000 x[10]=0.800000 y[8]=0.900000 z[10][8]=1.1e+000 x[10]=0.800000 y[9]=0.950000 z[10][9]=1.7e+000 x[10]=0.800000 y[10]=1.000000 z[10][10]=1.6e+000 x[10]=0.800000 y[11]=1.050000 z[10][11]=8.9e-001 x[10]=0.800000 y[12]=1.100000 z[10][12]=7.2e-001 x[10]=0.800000 y[13]=1.150000 z[10][13]=5.1e-001x[10]=0.800000 y[15]=1.250000 z[10][15]=3.9e-001 x[10]=0.800000 y[16]=1.300000 z[10][16]=2.3e-001 x[10]=0.800000 y[17]=1.350000 z[10][17]=1.7e-001 x[10]=0.800000 y[18]=1.400000 z[10][18]=3.0e-002 x[10]=0.800000 y[19]=1.450000 z[10][19]=-5.6e-002 x[10]=0.800000 y[20]=1.500000 z[10][20]=-1.8e-0012、选择过程的k和σ值:k=0 sigma=1.6e+002k=1 sigma=3.8e+000k=2 sigma=4.1e-003k=3 sigma=1.1e-004k=4 sigma=3.4e-006k=5 sigma=2.5e-0083、达到精度要求时的k和σ值,以及C[r][s]k=5 sigma=2.5e-008C[0][0]=2.8e+000C[0][1]=-3.6e+000C[0][2]=7.2e-001C[0][3]=8.6e-001C[0][4]=-4.2e-001C[0][5]=6.1e-002C[1][0]=3.1e+000C[1][1]=-7.0e-001C[1][2]=-2.9e+000C[1][3]=1.4e+000C[1][4]=-4.2e-001C[1][5]=6.9e-002C[2][0]=2.5e-001C[2][1]=1.9e+000C[2][2]=-4.9e-001C[2][3]=-8.1e-002C[2][4]=1.7e-001C[2][5]=-2.9e-002C[3][0]=-2.4e-001C[3][1]=-7.5e-001C[3][2]=1.5e+000C[3][3]=-8.6e-001C[3][4]=3.7e-001C[3][5]=-4.2e-002C[4][0]=2.8e-001C[4][1]=-1.0e-001 C[4][2]=-7.6e-002 C[4][3]=2.8e-001 C[4][4]=-1.1e-001 C[4][5]=2.2e-002 C[5][0]=-5.9e-002 C[5][1]=1.9e-001 C[5][2]=-1.5e-001 C[5][3]=4.1e-002 C[5][4]=3.2e-003 C[5][5]=-2.4e-0034、数表:xi *,yi*,f(xi*,yi*),p(xi*,yi*)以及f(xi*,yi*)与p(xi*,yi*)的差值x[1]=0.100000 y[1]=0.700000 f(x[1],y[1])=1.7e-001p(x[1],y[1])=1.5e-001σ=-9.2e-006x[1]=0.100000 y[2]=0.900000 f(x[1],y[2])=-1.7e-001p(x[1],y[2])=-1.6e-001σ=4.8e-006x[1]=0.100000 y[3]=1.100000 f(x[1],y[3])=-4.8e-001p(x[1],y[3])=-4.1e-001σ=2.1e-006x[1]=0.100000 y[4]=1.300000 f(x[1],y[4])=-5.3e-001p(x[1],y[4])=-5.1e-001σ=-7.7e-006x[1]=0.100000 y[5]=1.500000 f(x[1],y[5])=-6.1e-001p(x[1],y[5])=-6.6e-001σ=-1.3e-005x[2]=0.200000 y[1]=0.700000 f(x[2],y[1])=4.2e-001p(x[2],y[1])=4.1e-001σ=-1.8e-005x[2]=0.200000 y[2]=0.900000 f(x[2],y[2])=-2.2e-002p(x[2],y[2])=-2.6e-002σ=5.8e-006x[2]=0.200000 y[3]=1.100000 f(x[2],y[3])=-3.6e-001p(x[2],y[3])=-3.6e-001σ=3.6e-006f(x[2],y[4])=-5.9e-001p(x[2],y[4])=-5.5e-001σ=-7.7e-006x[2]=0.200000 y[5]=1.500000 f(x[2],y[5])=-6.9e-001p(x[2],y[5])=-6.9e-001σ=-1.7e-005x[3]=0.300000 y[1]=0.700000 f(x[3],y[1])=6.0e-001p(x[3],y[1])=6.1e-001σ=-1.8e-005x[3]=0.300000 y[2]=0.900000 f(x[3],y[2])=1.4e-001p(x[3],y[2])=1.2e-001σ=4.3e-006x[3]=0.300000 y[3]=1.100000 f(x[3],y[3])=-2.9e-001p(x[3],y[3])=-2.9e-001σ=2.4e-006x[3]=0.300000 y[4]=1.300000 f(x[3],y[4])=-4.8e-001p(x[3],y[4])=-4.2e-001σ=-7.9e-006x[3]=0.300000 y[5]=1.500000 f(x[3],y[5])=-6.9e-001p(x[3],y[5])=-6.9e-001σ=-1.3e-005x[4]=0.400000 y[1]=0.700000 f(x[4],y[1])=8.4e-001p(x[4],y[1])=8.9e-001σ=-9.7e-006x[4]=0.400000 y[2]=0.900000 f(x[4],y[2])=3.8e-001p(x[4],y[2])=3.9e-001σ=4.5e-006x[4]=0.400000 y[3]=1.100000 f(x[4],y[3])=-5.4e-002p(x[4],y[3])=-5.0e-002σ=2.9e-006x[4]=0.400000 y[4]=1.300000 f(x[4],y[4])=-3.8e-001p(x[4],y[4])=-3.4e-001σ=-8.3e-006f(x[4],y[5])=-5.1e-001p(x[4],y[5])=-5.1e-001σ=-1.5e-005x[5]=0.500000 y[1]=0.700000 f(x[5],y[1])=1.8e+000p(x[5],y[1])=1.6e+000σ=-9.1e-006x[5]=0.500000 y[2]=0.900000 f(x[5],y[2])=5.5e-001p(x[5],y[2])=5.2e-001σ=4.5e-006x[5]=0.500000 y[3]=1.100000 f(x[5],y[3])=1.0e-001p(x[5],y[3])=1.5e-001σ=3.6e-006x[5]=0.500000 y[4]=1.300000 f(x[5],y[4])=-2.3e-001p(x[5],y[4])=-2.3e-001σ=-7.5e-006x[5]=0.500000 y[5]=1.500000 f(x[5],y[5])=-4.7e-001p(x[5],y[5])=-4.8e-001σ=-1.0e-005x[6]=0.600000 y[1]=0.700000 f(x[6],y[1])=1.5e+000p(x[6],y[1])=1.3e+000σ=-8.9e-006x[6]=0.600000 y[2]=0.900000 f(x[6],y[2])=8.1e-001p(x[6],y[2])=8.8e-001σ=4.4e-006x[6]=0.600000 y[3]=1.100000 f(x[6],y[3])=3.3e-001p(x[6],y[3])=3.8e-001σ=3.5e-006x[6]=0.600000 y[4]=1.300000 f(x[6],y[4])=-9.3e-002p(x[6],y[4])=-9.3e-002σ=-7.6e-006x[6]=0.600000 y[5]=1.500000 f(x[6],y[5])=-3.6e-001p(x[6],y[5])=-3.6e-001σ=-1.2e-005f(x[7],y[1])=1.9e+000p(x[7],y[1])=1.5e+000σ=-7.6e-006x[7]=0.700000 y[2]=0.900000 f(x[7],y[2])=1.4e+000p(x[7],y[2])=1.4e+000σ=3.3e-006x[7]=0.700000 y[3]=1.100000 f(x[7],y[3])=5.7e-001p(x[7],y[3])=5.0e-001σ=2.7e-006x[7]=0.700000 y[4]=1.300000 f(x[7],y[4])=6.8e-002p(x[7],y[4])=6.3e-002σ=-7.1e-006x[7]=0.700000 y[5]=1.500000 f(x[7],y[5])=-2.6e-001p(x[7],y[5])=-2.0e-001σ=-1.5e-005x[8]=0.800000 y[1]=0.700000 f(x[8],y[1])=1.2e+000p(x[8],y[1])=1.1e+000σ=-6.4e-006x[8]=0.800000 y[2]=0.900000 f(x[8],y[2])=1.1e+000p(x[8],y[2])=1.5e+000σ=2.1e-006x[8]=0.800000 y[3]=1.100000 f(x[8],y[3])=7.2e-001p(x[8],y[3])=7.9e-001σ=3.2e-006x[8]=0.800000 y[4]=1.300000 f(x[8],y[4])=2.3e-001p(x[8],y[4])=2.8e-001σ=-6.5e-006x[8]=0.800000 y[5]=1.500000 f(x[8],y[5])=-1.8e-001p(x[8],y[5])=-1.8e-001σ=-1.6e-005。