北航数值分析大作业三

合集下载

北航数值分析大作业3

北航数值分析大作业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 integralimplicit nonecontains!//////////复化梯形subroutine trapezoid(m)implicit noneinteger :: i,j,k,mreal*8 :: x(m+1),u(m+1)real*8 :: sum,sum1,g,r,hreal*8 :: e=1.0e-10h=2./mdo i=1,m+1x(i)=-1.+(i-1)*hend dou=0.02do k=1,50do i=1,m+1sum1=0.g=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.)do j=2,msum1=sum1+dexp(x(i)*x(j))*u(j)end dosum=h/2.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(m+1)+2*sum1)u(i)=g-sumend 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.各方法所得曲线(由于所取节点太多,且精度高,所以图中很难看出各曲线的区别。

北航数值分析实验报告

北航数值分析实验报告

北航‎数值‎分析‎实验‎报告‎‎篇一‎:‎北航‎数值‎分析‎报告‎第一‎大题‎《‎数值‎分析‎》计‎算实‎习报‎告‎第一‎大题‎学‎号:‎D‎Y1‎30‎5‎姓名‎:‎指导‎老师‎:‎一、‎题目‎要求‎已‎知5‎01‎*5‎01‎阶的‎带状‎矩阵‎A,‎其特‎征值‎满足‎?1‎?‎2‎..‎.‎?5‎01‎。

试‎求:‎1‎、?‎1,‎?5‎01‎和?‎s的‎值;‎‎2、‎A的‎与数‎?k‎??‎1?‎k‎?5‎01‎??‎1‎40‎最‎接近‎的特‎征值‎?i‎k(‎k=‎1,‎2,‎..‎.,‎39‎);‎‎3、‎A的‎(谱‎范数‎)条‎件数‎c n‎d(‎A)‎2和‎行列‎式d‎e t‎A。

‎‎二、‎算法‎设计‎方案‎题‎目所‎给的‎矩阵‎阶数‎过大‎,必‎须经‎过去‎零压‎缩后‎进行‎存储‎和运‎算,‎本算‎法中‎压缩‎后的‎矩阵‎A1‎如下‎所示‎。

‎?0‎?0‎?A‎1?‎?a‎1‎??‎b?‎?c‎0‎b a‎2b‎c‎c b‎b c‎.‎..‎..‎..‎..‎..‎.‎c b‎b c‎c‎b a‎50‎0b‎0‎a ‎3.‎..‎a4‎99‎c‎?‎b?‎?a‎50‎1?‎?‎0?‎0?‎?‎由矩‎阵A‎的特‎征值‎满足‎的条‎件可‎知‎?1‎与?‎50‎1之‎间必‎有一‎个最‎大,‎则采‎用幂‎法求‎出的‎一‎个特‎征值‎必为‎其中‎的一‎个:‎当‎所求‎得的‎特征‎值为‎正数‎,则‎为?‎50‎1;‎否则‎为?‎1。

‎在求‎得?‎1与‎?‎50‎1其‎中的‎一个‎后,‎采用‎带位‎移的‎幂法‎则可‎求出‎它们‎中的‎另一‎个,‎且位‎移量‎即为‎先求‎出的‎特‎征值‎的值‎。

用‎反幂‎法求‎得的‎特征‎值必‎为?‎s。

‎由条‎件数‎的性‎质可‎得,‎c n‎d(‎A)‎2为‎模最‎大的‎特征‎值与‎模最‎小的‎特征‎值之‎比的‎模,‎因此‎,求‎出?‎1,‎?5‎01‎和?‎s的‎值后‎,则‎可以‎求得‎c n‎d(‎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 。

数值分析大作业三、四、五、六、七

数值分析大作业三、四、五、六、七

大作业 三1. 给定初值0x 及容许误差,编制牛顿法解方程f (x )=0的通用程序.解:Matlab 程序如下:函数m 文件:function Fu=fu(x) Fu=x^3/3-x; end函数m 文件:function Fu=dfu(x) Fu=x^2-1; end用Newton 法求根的通用程序 clear;x0=input('请输入初值x0:'); ep=input('请输入容许误差:'); flag=1;while flag==1x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)<ep flag=0; end x0=x1; endfprintf('方程的一个近似解为:%f\n',x0); 寻找最大δ值的程序: cleareps=input('请输入搜索精度:'); ep=input('请输入容许误差:'); flag=1; k=0; x0=0; while flag==1 sigma=k*eps; x0=sigma; k=k+1; m=0; flag1=1;while flag1==1 && m<=10^3 x1=x0-fu(x0)/dfu(x0);if abs(x1-x0)<epm=m+1; x0=x1; endif flag1==1||abs(x0)>=ep flag=0; end endfprintf('最大的sigma 值为:%f\n',sigma);2.求下列方程的非零根5130.6651()ln 05130.665114000.0918x x f x x +⎛⎫=-= ⎪-⨯⎝⎭解:Matlab 程序为:(1)主程序 clear clc format long x0=765; N=100;errorlim=10^(-5); x=x0-f(x0)/subs(df(),x0); n=1; while n<Nx=x0-f(x0)/subs(df(),x0); if abs(x-x0)>errorlim n=n+1; else break ; end x0=x; enddisp(['迭代次数: n=',num2str(n)])disp(['所求非零根: 正根x1=',num2str(x),' 负根x2=',num2str(-x)]) (2)子函数 非线性函数f function y=f(x)y=log((513+*x)/*x))-x/(1400*; end(3)子函数 非线性函数的一阶导数df function y=df() syms x1y=log((513+*x1)/*x1))-x1/(1400*; y=diff(y); end运行结果如下:所求非零根: 正根x1= 负根x2=大作业 四试编写MATLAB 函数实现Newton 插值,要求能输出插值多项式. 对函数21()14f x x =+在区间[-5,5]上实现10次多项式插值.分析:(1)输出插值多项式。

北航研究生数值分析试题

北航研究生数值分析试题

∗⎞ ⎟的 A1 ⎠
矩阵。
三、(12 分)试用高斯列主元素法求解线性方程组
⎡ 1 3 −2 −4 ⎤ ⎡ x1 ⎤ ⎡3 ⎤ ⎢ 2 6 −7 −10 ⎥ ⎢ x ⎥ ⎢ −2 ⎥ ⎢ ⎥⎢ 2⎥ = ⎢ ⎥ ⎢ −1 −1 5 9 ⎥ ⎢ x3 ⎥ ⎢14 ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ x4 ⎦ ⎥ ⎣ −6 ⎦ ⎣ −3 −5 0 15 ⎦ ⎣ 四、(12 分)利用矩阵 A 的三角分解 A = LU 求解下列方程组 ⎛ 1 2 1 ⎞ ⎛ x1 ⎞ ⎛ 0 ⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ 2 2 3 ⎟ ⎜ x2 ⎟ = ⎜ 3 ⎟ ⎜ −1 −3 0 ⎟ ⎜ x ⎟ ⎜ 2 ⎟ ⎝ ⎠⎝ 3 ⎠ ⎝ ⎠
第一章
1、近似数 x = 0.231 关于真值 x = 0.229 有( (1)1;(2)2;(3)3;(4)4。

绪论
一、选择题(四个选项中仅有一项符合题目要求,每小题 3 分,共计 15 分) )位有效数字。
2、取 3 ≈ 1.732 计算 x = ( 3 − 1) ,下列方法中哪种最好?(
4

Ax
∞和
A ∞ 的值分别为(

3
(1) 8 , 8 ;
(2) 8 , 7 ;
(3) 8 , 6 ;
(4) 7 , 7 。
5 、若解线性代数方程组的 Gauss 部分选主元方法第二步得到的系数矩阵的第三列向量为
(2
6 3 2 −5 4 2 ) ,则第三步主行是(
T
) (4) 第 6 行。
(1) 第 2 行;
1 − cos x , sin x
x ≠ 0且 x << 1 ;
(2)
1 1− x , − 1+ 2x 1+ x

北航数值分析全部三次大作业

北航数值分析全部三次大作业

北航数值分析全部三次大作业第一次大作业是关于解线性方程组的数值方法。

我们被要求实现各种常用的线性方程组求解算法,例如高斯消元法、LU分解法和迭代法等。

我首先学习了这些算法的原理和实现方法,并借助Python编程语言编写了这些算法的代码。

在实验中,我们使用了不同规模和条件的线性方程组进行测试,并比较了不同算法的性能和精度。

通过这个作业,我深入了解了线性方程组求解的原理和方法,提高了我的编程和数值计算能力。

第二次大作业是关于数值积分的方法。

数值积分是数值分析中的重要内容,它可以用于计算曲线的长度、函数的面积以及求解微分方程等问题。

在这个作业中,我们需要实现不同的数值积分算法,例如矩形法、梯形法和辛普森法等。

我学习了这些算法的原理和实现方法,并使用Python编写了它们的代码。

在实验中,我们计算了不同函数的积分值,并对比了不同算法的精度和效率。

通过这个作业,我深入了解了数值积分的原理和方法,提高了我的编程和数学建模能力。

第三次大作业是关于常微分方程的数值解法。

常微分方程是数值分析中的核心内容之一,它可以用于描述众多物理、化学和生物现象。

在这个作业中,我们需要实现不同的常微分方程求解算法,例如欧拉法、龙格-库塔法和Adams法等。

我学习了这些算法的原理和实现方法,并使用Python编写了它们的代码。

在实验中,我们解决了一些具体的常微分方程问题,并比较了不同算法的精度和效率。

通过这个作业,我深入了解了常微分方程的原理和方法,提高了我的编程和问题求解能力。

总的来说,北航数值分析课程的三次大作业非常有挑战性,但也非常有意义。

通过这些作业,我在数值计算和编程方面得到了很大的提升,也更加深入地了解了数值分析的理论和方法。

虽然这些作业需要大量的时间和精力,但我相信这些努力将会对我未来的学习和工作产生积极的影响。

北航数值分析报告大作业第三题(fortran)

北航数值分析报告大作业第三题(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。

北航分析研究生数值期末模拟试卷

北航分析研究生数值期末模拟试卷

数值分析模拟试卷1一、填空<共30分,每空3分)1 设,则A的谱半径______,A的条件数=________.2 设,则=________,=________.3 设,是以0,1,2为节点的三次样条函数,则b=________,c=________.4设是区间[0,1]上权函数为的最高项系数为1的正交多项式族,其中,则________,________.5设,当________时,必有分解式,其中L为下三角阵,当其对角线元素满足条件________时,这种分解是唯一的.二、<14分)设,<1)试求在上的三次Hermite插值多项式使满足,. <2)写出余项的表达式.三、<14分)设有解方程的迭代公式为,<1)证明均有<为方程的根);<2)取,用此迭代法求方程根的近似值,误差不超过,列出各次迭代值;<3)此迭代的收敛阶是多少?证明你的结论.四、(16分> 试确定常数A,B,C和,使得数值积分公式有尽可能高的代数精度. 试问所得的数值积分公式代数精度是多少?它是否为Gauss型的?五、<15分)设有常微分方程的初值问题,试用Taylor展开原理构造形如的方法,使其具有二阶精度,并推导其局部截断误差主项.六、<15分)已知方程组,其中,<1)试讨论用Jacobi迭代法和Gauss-Seidel迭代法求解此方程组的收敛性.<2)若有迭代公式,试确定一个的取值范围,在这个范围内任取一个值均能使该迭代公式收敛.七、<8分)方程组,其中,A是对称的且非奇异.设A有误差,则原方程组变化为,其中为解的误差向量,试证明.其中和分别为A的按模最大和最小的特征值.数值分析模拟试卷2填空题<每空2分,共30分)1.近似数关于真值有____________位有效数字;2.设可微,求方程根的牛顿迭代格式是_______________________________________________;3.对,差商_________________;________;4.已知,则________________,______________________ ;5.用二分法求方程在区间[0,1]内的根,进行一步后根所在区间为_________,进行二步后根所在区间为_________________;6.求解线性方程组的高斯—赛德尔迭代格式为_______________________________________;该迭代格式迭代矩阵的谱半径_______________;7.为使两点数值求积公式:具有最高的代数精确度,其求积节点应为_____ ,_____,__________.8.求积公式是否是插值型的__________,其代数精度为___________。

BUAA数值分析大作业三

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(学硕)

北航数值分析大作业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) 结束。

北航研究生数值分析大作业三

北航研究生数值分析大作业三

数值分析—计算实习作业三学院: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. 下列各数都是经过四舍五入得到的近似数,试指出它们有几位有效数字以及它们的绝对误差限、相对误差限。

(1);(2);(3);(4);(5);(6);(7);1. (1)5,,;(2)2,,;(3)4,,;(4)5,,;(5)1,,;(6)2,,;(7)6,,2. 为使下列各数的近似值的相对误差限不超过,问各近似值分别应取几位有效数字?2. ;;3. 设均为第1题所给数据,估计下列各近似数的误差限。

(1);(2);(3)3. (1);(2);(3)4. 计算,取,利用下列等价表达式计算,哪一个的结果最好?为什么?(1);(2);(3)(4)4. 第(3)个结果最好。

5. 序列满足递推关系式若(三位有效数字),计算时误差有多大?这个计算过程稳定吗?5. 不稳定。

从计算到时,误差约为6. 求方程的两个根,使其至少具有四位有效数字(要求利用。

6. ,7. 某生产部门生产的一件产品需用七个零件,而这七个零件的质量取决于零件参数的标定值,它们的参数允许有一定的误差:若每一零件的标定值取做区间中点,在生产过程中每一零件的参数都有可能产生误差。

由此将零件分成不同的等级:A,B,C三等,等级由标定值的相对误差限表示,A等为1%,B等为5%,C等为10%。

试确定三个等级的零件分别满足的区间。

8. 将一个八位二进制数(10111101)2转换成十进制数时,可以用公式:(1)用多项式求值的秦九韶方法求C的值;(2)写出将任意一个八位二进制数(b1b2b3b4b5b6b7b8)2转化为十进制数的算法。

9. 利用等式变换使下列表达式的计算结果比较精确。

(1);(2)(3);(4)9. (1);(2);(3);(4)10. 设,求证:(1)(2)利用(1)中的公式正向递推计算时误差增大;反向递推时误差函数减小。

习题二1. 判断下列方程有几个实根,并求出其隔根区间。

(1);(2)(3);(4)1. (1),,;(2);(3),,;(4)为根。

北航数分大作业三

北航数分大作业三

一、算法的设计方案1、对于已给出的非线性方程组,其解集可采用牛顿迭代法进行求解。

在每次迭代过程中,将x ,y 的值固定,如此便可得到一组关于t ,u ,v ,w 的解。

因此可以建立一组(x ,y )和(t ,u )一一对应的关系。

2、采用分片二次插值对题目中所给出的z ,t ,u 二维数表进行处理。

于是在 0≤t ≤1, 0≤u ≤2 的矩形区域就建立了 z 与(t,u)的一一对应关系。

其中选择(m ,n )满足,2322m i m h h t t t m -<≤+≤≤,,2322n j n u u u n ττ-<≤+≤≤。

3、对i x i *08.0= 10,...,2,1,0=i ,j y j 05.05.0+= 20,...,2,1,0=j 。

分别使用前两步算法,可得到一组2111)(],[⨯=j i y x f j i z 的数表。

4、采用最小二乘拟合,设∑∑===k r k s s r rs y x cy x p 00)(,m=10 n=20,M=N=K 。

插值基函数10,...,1,0,)(==i x x r i i r φ k r ,...,1,0=,ks j y y sj j s ,...,1,020,...,1,0,)(===ψ。

、)1()1()1()1(][][+⨯++⨯+==k n sj k m r i y G x B U 即为上面所求的Z[11][21]。

为避免计算过程中出现矩阵求逆,将U B B B A T T 1)(-=改为U B A B B T T =)(,再利用高斯消去法以)(B B T作为系数矩阵,U B T 的每一列作为非线性部分,分别解出A 的每一列。

在将1)(-=G G AG A T 改为AG G G C T =)(,然后利用高斯消元法以)(G G T 作为系数矩阵,AG 的每一行作为非线性部分,分解出C 的每一行。

如此便得到了最小二乘拟合的系数矩阵C 。

北航数值分析实习题目第一题

北航数值分析实习题目第一题

《数值分析B》大作业一ZY1515105 樊雪松一.算法设计方案:1.矩阵A的存储与检索将带状线性矩阵A[501][501]转存为一个矩阵MatrixC[5][501] 。

在数组MatrixC[5][501]中检索A的带内元素a ij的方法是:A的带内元素a ij=C中的元素c i-j+2,j。

2.求解λ1,λ501,λs1、首先分别使用幂法和反幂法迭代求出矩阵按摸最大和最小的特征值λmax和λmin。

λmin即为λs;如果λ max>0,则λ501=λmax;如果λmax<0,则λ1=λmax。

2、使用带原点平移的幂法(mifa()函数),令平移量p=λmax,求出对应的按摸最大的特征值λ’max,如果λ max>0,则λ1=λ’max+p;如果λmax<0,则λ501=λ’max+p。

3、求解A的与数μk=λ1+k(λ501-λ1)/40 的最接近的特征值λik (k=1,2,…,39)。

使用带原点平移的反幂法,令平移量p=μk,即可求出与μk最接近的特征值λ ik。

4、求解A的(谱范数)条件数cond(A)2和行列式detA。

cond(A)2=|λ1/λn|,其中λ1和λn分别是矩阵A的模最大和最小特征值。

求解矩阵A的行列式,可先对矩阵A进行LU分解后,detA等于U所有对角线上元素的乘积。

二.源程序#include<stdio.h>#include<math.h>#include<conio.h>//定义A中元素double C[5][501];double a[501];double b;double c;//声明所有函数void YaSuoJZ(double C[5][501],double a[501],double b,double c) ;//压缩矩阵函数double mifa(double C[5][501]); //幂法函数void daizhuangLU(double A[5][501]); //带状矩阵的LU分解double fanmifa(double C[5][501]);//反幂法函数//最值函数int max2(int x,int y);int max3(int x,int y,int z);int min(int x,int y);//最值函数int max2(int x,int y) //求2个数的最大值{int z;z=x>y?x:y;return(z);}int max3(int x,int y,int z) //求3个数的最大值{int w;w = z > max2(x,y)? z:max2(x,y);return(w);}int min(int x,int y) //求2个数的最小值{int z;z=x>y?y:x;return(z);}//将矩阵A压缩存储在矩阵C中void YaSuoJZ(double C[5][501],double a[501],double b,double c) {int i;for(i=0;i<=500;i++){if(i>=2) C[0][i]=c;else C[0][i]=0;if(i>=1) C[1][i]=b;else C[1][i]=0;if(i<=499) C[3][i]=b;else C[3][i]=0;if(i<=498) C[4][i]=c;else C[4][i]=0;C[2][i]=a[i];}}//幂法函数:用幂法求矩阵模最大的特征值double mifa(double C[5][501]){double u[501];double y[501]={0},η=0;double β,βk=0;double ε=1;// ε为精度double sumu=0,sumAY=0;int i,j,k=1; //k为循环次数for (i=0;i<=500;i++) //取任一非零向量u0u[i] = 1.0;while(ε>=1e-12){for(i=0;i<=500;i++) //求u(k-1)的2范数ηsumu=sumu+u[i]*u[i];η=sqrt(sumu);sumu=0;for(i=0;i<=500;i++) //求y(k-1)y[i]=u[i]/η;for(i=0;i<=500;i++) //求u(k)的各分量u[i]{for(j=max2(0,i-2);j<=min(i+2,500);j++)sumAY=sumAY+C[i-j+2][j]*y[j];u[i]=sumAY;sumAY=0;}//求幂法中的βkβ=βk; //将β(k-1)放在β中βk=0;for(i=0;i<=500;i++) //求βkβk=βk+y[i]*u[i];if(k>=2)ε=fabs(βk-β)/fabs(βk);k++;}return(βk);}//带状矩阵的LU分解void daizhuangLU(double A[5][501]){int i,j,k,m,t;double sumukj=0,sumlik=0;for(k=0;k<=500;k++){for(j=k;j<=min(k+2,500);j++) //求ukj并存在A[k-j+2][j]中{for(t=max3(0,k-2,j-2);t<=k-1;t++)sumukj=sumukj+A[k-t+2][t]*A[t-j+2][j];A[k-j+2][j]=A[k-j+2][j]-sumukj;sumukj=0;}if(k<500)for(i=k+1;i<=min(k+2,500);i++) //求lik并存在A[i-k+2][k]中{for(m=max3(0,i-2,k-2);m<=k-1;m++)sumlik=sumlik+A[i-m+2][m]*A[m-k+2][k];A[i-k+2][k]=(A[i-k+2][k]-sumlik)/A[2][k];sumlik=0;}}}//反幂法函数:用反幂法求矩阵的模最小的特征值double fanmifa(double M[5][501]){double u[501];double y[501]={0},x[501],η=0;double fβ,fβk=0;double ε=1;double fsumu=0,sumLX=0,sumUu=0;int i,t,m,k=1;for(i=0;i<=500;i++) //任取一非零向量u0u[i]=1;daizhuangLU(M); //对A进行LU分解A=LU,Au(k)=y(k-1)等价于Uu(k)=x和Lx=y(k-1) while(ε>=1e-12){for(i=0;i<=500;i++) //求u(k-1)的2范数ηfsumu=fsumu+u[i]*u[i];η=sqrt(fsumu);fsumu=0;for(i=0;i<=500;i++) //求y(k-1)y[i]=u[i]/η;for(i=0;i<=500;i++) //求中间向量xx[i]=y[i];for(i=1;i<=500;i++){for(t=max2(0,i-2);t<=i-1;t++)sumLX=sumLX+M[i-t+2][t]*x[t];x[i]=x[i]-sumLX;sumLX=0;}u[500]=x[500]/C[2][500]; //求u(k)的各分量u[i]for(i=499;i>=0;i--){for(m=i+1;m<=min(i+2,500);m++)sumUu=sumUu+M[i-m+2][m]*u[m];u[i]=(x[i]-sumUu)/M[2][i];sumUu=0;}//求反幂法中的βkfβ=fβk; //将fβ(k-1)放在fβ中fβk=0;for(i=0;i<=500;i++) //求fβkfβk=fβk+y[i]*u[i];if(k>=2)ε=fabs(1/fβk-1/fβ)/fabs(1/fβk);k++;}return(1/fβk);}//主函数void main(){int i,j,k;double λ1,λ501,λm,λm1,λm2,λs,λ,p;double cond,detA=1;for(i=1;i<=501;i++)a[i-1]=(1.64-0.024*i)*sin(0.2*i)-0.64*exp(0.1/i);b=0.16;c=-0.064;YaSuoJZ(C,a,b, c); //将矩阵A中元素压缩存储在C中λm1=mifa(C); //对A用幂法求出模最大的特征值λm1λs=fanmifa(C); //对A用反幂法求出模最小的特征值λsYaSuoJZ(C,a,b, c); //还原矩阵A中元素并压缩存储在C中for(j=0;j<=500;j++) //对A进行平移,平移量为λm1,平移后矩阵元素压缩存储在C中C[2][j]=C[2][j]-λ?m1;λm=mifa(C);λm2=λm1+λm; //λm1与λm2是矩阵的最大最小特征值if(λm1>λm2) //判断A最大最小特征值{λ501=λm1;λ1=λm2;}else{λ501=λm2;λ1=λm1;}printf("数值分析计算实习第一题\n\n ZY1515105 樊雪松\n\n (1)A的最大最小以及模最小的特征值\n");printf("A的最小特征值λ1=%.13e\n",λ1);printf("A的最大特征值λ501=%.13e\n",λ501);printf("A的模最小特征值λs=%.13e\n",λs);printf("\n(2)与数μk最接近的特征值\n");printf("\t要求接近的值\t\t\t实际求得的特征值\n");YaSuoJZ(C,a,b, c); //还原矩阵A中元素并压缩存储在C中for(k=1;k<=39;k++){p=λ1+k*(λ501-λ1)/40;for(j=0;j<=501;j++)C[2][j]=C[2][j]-p;λ=fanmifa(C)+p;printf("μ%d=%.13e λ%d=%.13e\n",k,p,k,λ);YaSuoJZ(C,a,b, c); //还原矩阵A中元素并压缩存储在C中}printf("\n(3)计算A的条件数cond(A)和行列式detA\n");cond=λm1/λs;daizhuangLU(C);for(j=0;j<=500;j++)detA=detA*C[2][j];printf("A的条件数cond(A)=%.13e\n",cond);printf("A的行列式detA=%.13e\n",detA);getch();}三、运行结果数值分析计算实习第一题ZY1515105 樊雪松(1)A的最大最小以及模最小的特征值A的最小特征值λ1=-1.0700113615018e+001A的最大特征值λ501=9.7246340987773e+000A的模最小特征值λs=-5.5579107942295e-003(2)与数μk最接近的特征值要求接近的值实际求得的特征值μ1=-1.0189494922173e+001 λ1=-1.0182934033146e+001 μ2=-9.6788762293280e+000 λ2=-9.5857074250676e+000 μ3=-9.1682575364831e+000 λ3=-9.1726724239280e+000 μ4=-8.6576388436383e+000 λ4=-8.6522840078976e+000 μ5=-8.1470201507934e+000 λ5=-8.0934838086753e+000 μ6=-7.6364014579485e+000 λ6=-7.6594054076924e+000 μ7=-7.1257827651036e+000 λ7=-7.1196846486912e+000 μ8=-6.6151640722588e+000 λ8=-6.6117643393973e+000 μ9=-6.1045453794139e+000 λ9=-6.0661032265951e+000 μ10=-5.5939266865690e+000 λ10=-5.5851010526284e+000 μ11=-5.0833079937241e+000 λ11=-5.1140835298122e+000 μ12=-4.5726893008792e+000 λ12=-4.5788721768651e+000 μ13=-4.0620706080344e+000 λ13=-4.0964709262599e+000 μ14=-3.5514519151895e+000 λ14=-3.5542112157508e+000 μ15=-3.0408332223446e+000 λ15=-3.0410900181333e+000 μ16=-2.5302145294997e+000 λ16=-2.5339703111304e+000 μ17=-2.0195958366549e+000 λ17=-2.0032307695635e+000μ18=-1.5089771438100e+000 λ18=-1.5035576112274e+000μ19=-9.9835845096511e-001 λ19=-9.9355860600754e-001μ20=-4.8773975812023e-001 λ20=-4.8704267388496e-001μ21=2.2878934724645e-002 λ21=2.2317362495748e -002μ22=5.3349762756952e-001 λ22=5.3241747420686e -001μ23=1.0441163204144e+000 λ23=1.0528989626935e+000μ24=1.5547350132593e+000 λ24=1.5894458818809e+000μ25=2.0653537061042e+000 λ25=2.0603304602743e+000μ26=2.5759723989490e+000 λ26=2.5580755970728e+000μ27=3.0865910917939e+000 λ27=3.0802405093071e+000μ28=3.5972097846388e+000 λ28=3.6136208676923e+000μ29=4.1078284774837e+000 λ29=4.0913785104506e+000μ30=4.6184471703285e+000 λ30=4.6030353782791e+000μ31=5.1290658631734e+000 λ31=5.1329242838984e+000μ32=5.6396845560183e+000 λ32=5.5949063480833e+000μ33=6.1503032488632e+000 λ33=6.0809338570269e+000μ34=6.6609219417080e+000 λ34=6.6803540921116e+000μ35=7.1715406345529e+000 λ35=7.2938774481266e+000μ36=7.6821593273978e+000 λ36=7.7171117142356e+000μ37=8.1927780202427e+000 λ37=8.2252200140502e+000μ38=8.7033967130876e+000 λ38=8.6486660651935e+000μ39=9.2140154059324e+000 λ39=9.2542003445750e+000(3)计算A 的条件数cond(A)和行列式detAA 的条件数cond(A)=1.9252042739022e+003A 的行列式detA=2.7727861417521e+118四、结果分析设A 的n 个线性无关的特征向量为1x ,2x ,…,n x ,其相对应的特征值满足的关系为n λλλλ≥≥≥> 321。

北航数值分析大作业题目三

北航数值分析大作业题目三

《数值分析》第三次大作业一、算法的设计方案: (一)、总体方案设计:(1)解非线性方程组。

将给定的(,)i i x y 当作已知量代入题目给定的非线性方程组,求得与(,)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)xD ∈,给定精度水平0ε>和最大迭代次数M 。

2)对于0,1,k M =L 执行① 计算()()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 j x x ih i n y y j j m τ=+=⎧⎪⎨=+=⎪⎩L L ,需要插值的节点为(,)x y 。

北航数值分析大作业题目三

北航数值分析大作业题目三
《数值分析》第三次大作业
1、 算法的设计方案: (一)、总体方案设计:
(1)解非线性方程组。将给定的当作已知量代入题目给定的非线性方程组,求得与相对应 的数组t[i][j],u[i][j]。 (2)分片二次代数插值。通过分片二次代数插值运算,得到与数组t[11][21],u[11][21]] 对应的数组z[11][21],得到二元函数z=。 (3)曲面拟合。利用x[i],y[j],z[11][21]建立二维函数表,再根据精度的要求选择适当k 值,并得到曲面拟合的系数矩阵C[r][s]。 (4)观察和的逼近效果。观察逼近效果只需要重复上面(1)和(2)的过程,得到与新的 插值节点对应的,再与对应的比较即可,这里求解可以直接使用(3)中的C[r][s]和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) /*判断是否成立*/ { 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; else printf("迭代不成功\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},

北航数值分析A大作业3

北航数值分析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 的效果。

数值分析第三章作业

数值分析第三章作业

i 1
5
1
1
5
2
5
4
xi i
5 1
7277699
( 0 , 1) ( 0 , y ) (1 , y )

xi i
5
2
5327
i 1
5
yi
2 1
271 .4
xi i
y i 369321 .5
5a 5327b 271 .4 5327a 727699 b 369321 .5
1 2
18.在某化学反应中,由实验得分解物浓度与时间关系如下: 时间 t/s 浓度 y/(x10 -4 ) 0 0 5 10 15 20
1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.62 4.64
用最小二乘法求 y f(t )
b
解:将给定数据点画出草图,可见曲线近似指数函数,故设 y ae t ,两边取对 数得
1
2
0.06232136
i
( 0 ,1 ) ( 0 ,1 )
11
1
i
0.6039755
i t i
1 11
( 0 ,y )
i 1
y i 13.639649 ,(1 ,y )
y
0.5303303
i
从而解得法方程为
11A 0.60397556 b 13.639649 0.6039755 A 0.062321366 b 0.5303303
xi yi
19
25
31
38
44
19.0 32.3 49.0 73.3 97.8
用最小二乘法求一个形如 y a bx2 的经验公式,并计算均方误差. 解:由题意 span 1, x 2 ,0(x ) 1,1(x ) x 2 ,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、题目:关于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)。

5、采用f 型输出,,i j x y **,i j x y 的准确值,其余实型数采用e 型输出并且至少显示12位有效数字。

二、算法设计方案1.使用牛顿迭代法,对原题中给出的i x i 08.0=,j y j 05.05.0+=,(010,020i j ≤≤≤≤)的11*21组j i y x ,分别求出原题中方程组的一组解,于是得到一组和i i y x ,对应的j i t u ,。

2.对于已求出的j i t u ,,使用分片二次代数插值法对原题中关于u t z ,,的数表进行插值得到ij z 。

于是产生了z=f(x,y)的11*21个数值解。

3.从k=1开始逐渐增大k 的值,并使用最小二乘法曲面拟合法对z=f(x,y)进行拟合,得到每次的σ,k 。

当710-<σ时结束计算,输出拟合结果。

4.计算)5,,2,1,8,,2,1)(,(),,(****⋅⋅⋅=⋅⋅⋅=j i y x p y x f j i j i 的值并输出结果,以观察),(y x p 逼近),(y x f 的效果。

其中j y i x j i 2.05.0,1.0**+==。

三、算法实现方案 1、求(,)f x y :(1)Newton 法解非线性方程组0.5cos 2.670.5sin 1.07(1)0.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, v ,w 为待求的未知量,x, y 为代入的已知量。

设(,,,)Tt u v w ξ=,给定精度水平12110ε-=和最大迭代次数M ,则解该线性方程组的迭代格式为:*(0)(0)(0)(0)(0)(k+1)()()1()(,,,)()()0,1,T k k k t u v w F F k ξξξξξξ-⎧=⎪'=-⎨⎪=⎩在附近选取初值, 迭代终止条件为()(1)()1/k k k ξξξε-∞∞-≤,若k M >时仍未达到迭代精度,则迭代计算失败。

其中,雅可比矩阵0.5*cos(t) + u + v + w - x - 2.67t + 0.5*sin(u) + v + w - y - 1.07()0.5*t + u + cos(v) + w - x - 3.74t + 0.5*u + v + sin(w) - y - 0.79F ξ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦, 0.5*sin()11110.5*cos()11()0.51sin()110.51cos()t u F v w ξ-⎡⎤⎢⎥⎢⎥'=⎢⎥-⎢⎥⎣⎦, (2)分片双二次插值:根据题目给出的表格,(0,1,,5)(0,1,,5)i i t ih i u j j τ= == =(其中,0.2h τ= =0.4,)对于给定的(,)t u ,如果(,)t u 满足,322,322i i j j h ht t t i u u u j ττ-<≤+ 2≤≤-<≤+ 2≤≤则选择(,)(1,,1;1,,1)k r t u k i i i r j j j =-+=-+为插值节点,相应的插值多项式为1111(,)()()(,)j i krkrk i r j h t u l t l u g t u ++=-=-=(2) ∑∑其中,1111()(1,,1)()(1,,1)i mk m i k mm kj nr n j r nn rt t l t k i i i t t u u l u r j j j u u +=-≠+=-≠-= =-+--==-+-∏∏如果1422h h t t t t ≤+>+或,则在式(2)中取i=1或i=4; 如果1422u u u ττ≤+>+或u ,则在式(2)中取u=1或u=4。

在区域{(,)|00.8,0.5 1.5}D x y x y =≤≤≤≤上,将(,)i j x y (0.08,i x i =i=0,1,…,10;j y =0.5+0.2j,j=0,1,…20)代入到非线性方程组(1)中,用Newton 法解出,,(,)i j i j t u ,再由分片双二次插值得,,,(,)i j i j i j z h t u =,则有,(,)i j i j z f x y =(i=0,1,…,10;j=0,1,…,20),即求出了(,)z f x y =。

2、求(,)p x y :乘积型最小二乘拟合曲面: (1)求系数矩阵C :11()()T T T C B B B UG G G --=其中,200021112101010111k k k x x x x x x B x x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦ 200021112202020111k k k y y y y y y G y x y ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦0,00,10,201,01,11,20,10,010,110,20,(,)(0,1,,10;0,1,,20)i j i jz z z z z z U z f x y i j z z z ⎡⎤⎢⎥⎢⎥== ==⎢⎥⎢⎥⎣⎦计算中涉及到对矩阵求逆,接着在后面将会具体说明列主元的高斯消去法求矩阵的逆的方法。

(2)确定最小的k 值,拟合曲面:,0(,)kr s rsr s p x y cx y ==∑设1020200((,)(,))i j i j i j f x y p x y σ===-∑∑,给定精度水平7210ε-=和最大迭代次数N ,则确定最小k 值的迭代格式为:(),01020()()200(,)(0,1,,10;0,1,,20)((,)(,))0,1,2,kk r s i j rs i j r s k k i j i j i j p x y c x y i j f x y p x y k σ===⎧= ==⎪⎪⎪=-⎨⎪⎪=⎪⎩∑∑∑迭代终止条件为()2k σε≤,若k N >时仍未达到迭代精度,则迭代计算失败。

待确定满足精度条件的最小k 值后,就可以进行曲面拟合计算了。

3、关于列主元的高斯消去法求矩阵的逆:设非奇异矩阵n n A C ⨯∈,且1B A -= ,则AB I =,对B 和I 列分块,有11(,,,,)(,,,,)j n j n A b b b e e e =即,1,2,,j j Ab e j n = =其中,(0,,0,1,0,,0)T j je =应用列主元的高斯消去法线性解方程组 ,1,2,,j j Ab e j n = =,则1(,,,,)j n B b b b =即为A 的逆。

注:若A 不可逆,则此算法失效。

四、源程序#include<iostream>// zhhfshzhfx3.cpp : 定义控制台应用程序的入口点。

//#include <stdio.h> #include <cmath>const int M= 500;//迭代最大次数const double E=1.0e-12;//确定牛顿迭代精度水平 const double E1=1.0e-7;//确定拟合精度水平 const int kmax=9;//k 的最大值 const double matrix[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}};const double mat_t[6]={0, 0.2, 0.4, 0.6, 0.8, 1.0};const double mat_u[6]={0, 0.4, 0.8, 1.2, 1.6, 2.0};double U[11][21];//对f(x,y)的值进行存储double C[kmax+1][kmax+1];//拟合系数矩阵////////////两数绝对值取大/////////////double max(double x,double y){return fabs(x)>fabs(y)?fabs(x):fabs(y);}/////////高斯消元法解线性方程组///////void linear_solution(double f[4],double ff[4][4], double (&delta)[4]) {int i, j, k, ik;double tmp, mik;for(k=0; k<3; k++){ik=k;for(i=k;i<4;i++)if(fabs(ff[ik][k])<fabs(ff[i][k]))ik=i;for(j=k;j<4;j++){tmp=ff[k][j];ff[k][j]=ff[ik][j];ff[ik][j]=tmp;}tmp=f[k];f[k]=f[ik];f[ik]=tmp;for(i=k+1;i<4;i++){mik=ff[i][k]/ff[k][k];for(j=k;j<4;j++)ff[i][j]=ff[i][j]-mik*ff[k][j];f[i]-=mik*f[k];}}delta[3]=f[3]/ff[3][3];for(k=2;k>=0;k--){tmp=0;for(j=k+1;j<4;j++)tmp+=ff[k][j]*delta[j];delta[k]=(f[k]-tmp)/ff[k][k];}}////////Newton法求解非线性方程组////////void equation_solution(double x, double y,double &u,double &t){double v=1.0,w=1.0;u=1.0;t=1.0;double delta[4],f[4],ff[4][4];int k=0;for(k=0;k<=M;k++){f[0]=-1.0*(0.5*cos(t)+u+v+w-x-2.67);f[1]=-1.0*(t+0.5*sin(u)+v+w-y-1.07);f[2]=-1.0*(0.5*t+u+cos(v)+w-x-3.74);f[3]=-1.0*(t+0.5*u+v+sin(w)-y-0.79);ff[0][0]=-0.5*sin(t);ff[0][1]=1.0;ff[0][2]=1.0;ff[0][3]=1.0;ff[1][0]=1.0;ff[1][1]=0.5*cos(u);ff[1][2]=1.0;ff[1][3]=1.0;ff[2][0]=0.5;ff[2][1]=1.0;ff[2][2]=-sin(v);ff[2][3]=1.0;ff[3][0]=1.0;ff[3][1]=0.5;ff[3][2]=1.0;ff[3][3]=cos(w);linear_solution(f,ff,delta);if(max(delta[3],max(delta[2],max(delta[0],delta[1])))/max(w,max(v,max(u,t)))<=E) break;else{t+=delta[0];u+=delta[1];v+=delta[2];w+=delta[3];if(k==M)printf("非线性方程组迭代不成功!\n");}}}/////////////分片双二次插值//////////double interpolation(double a,double b){int i,j,k,r,t1,t2;double z=0.0;i=int(fabs((a/0.2)+0.5));j=int(fabs((b/0.4)+0.5));if(i==0) i=1;if(i==5) i=4;if(j==0) j=1;if(j==5) j=4;for(k=i-1;k<=i+1; k++)for(r=j-1;r<=j+1;r++){double sum=1.0;sum*=matrix[k][r];for(t1=i-1;t1<=i+1;t1++)if(t1!=k)sum*=(a-mat_t[t1])/(mat_t[k]-mat_t[t1]);for(t2=j-1;t2<=j+1;t2++)if(t2!=r)sum*=(b-mat_u[t2])/(mat_u[r]-mat_u[t2]);z+=sum;}return z;}//////////////矩阵求逆/////////////void inverse(double (&matrix)[kmax+1][kmax+1],int k){double matrixT[kmax+1][kmax+1]={0.0};double b[kmax+1][kmax+1]={0.0},tmp,mik;int i,j,t,p,it;for(i=0;i<=kmax;i++)for(j=0;j<=kmax;j++)if(i==j)b[i][j]=1.0;else b[i][j]=0.0;for(t=0; t<k; t++){it=t;for(i=t+1;i<=k;i++)if(fabs(matrix[it][t])<fabs(matrix[i][t]))it=i;for(j=t;j<=k;j++){tmp=matrix[it][j];matrix[it][j]=matrix[t][j];matrix[t][j]=tmp;}for(p=0;p<=k;p++){tmp=b[t][p];b[t][p]=b[it][p];b[it][p]=tmp;}for(i=t+1;i<=k;i++){mik=matrix[i][t]/matrix[t][t];for(j=t+1;j<=k;j++)matrix[i][j]-=mik*matrix[t][j];for(p=0;p<=k;p++)b[i][p]-=mik*b[t][p];}}for(p=0;p<=k;p++){matrixT[k][p]=b[k][p]/matrix[k][k];for(i=k-1;i>=0;i--){for(tmp=0.0,j=i+1;j<=k;j++)tmp+=matrix[i][j]*matrixT[j][p];matrixT[i][p]=(b[i][p]-tmp)/matrix[i][i];}}for(i=0;i<=k;i++)for(j=0;j<=k;j++)matrix[i][j]=matrixT[i][j];}////////针对每个k值进行曲面拟合/////////double surface_fitting(int k, double x, double y){double B[11][kmax+1]={0.0},BT[kmax+1][11]={0.0};double G[21][kmax+1]={0.0},GT[kmax+1][21]={0.0};doubleBTB[kmax+1][kmax+1]={0.0},BTB1[kmax+1][kmax+1]={0.0},BTB2[kmax+1][kmax+1]={0.0},GTG[kmax+1][ kmax+1]={0.0};double matrix1[kmax+1][11]={0.0},matrix3[21][kmax+1]={0.0};double matrix2[kmax+1][21]={0.0};double p,sum;int i,j,t,r,s;for(i=0;i<=10;i++)for(j=0;j<=k;j++)B[i][j]=pow(0.08*i,j);for(i=0;i<=20;i++)for(j=0;j<=k;j++)G[i][j]=pow(0.5+0.05*i,j);for(i=0;i<=10;i++)for(j=0;j<=k;j++)BT[j][i]=B[i][j];for(i=0;i<=20;i++)for(j=0;j<=k;j++)GT[j][i]=G[i][j];for(i=0;i<=k;i++)for(j=0;j<=k;j++){for(sum=0.0,t=0;t<=10;t++)sum+=BT[i][t]*B[t][j];BTB[i][j]=sum;}inverse(BTB,k);for(i=0;i<=k;i++)for(j=0;j<=k;j++){for(sum=0.0,t=0;t<=20;t++)sum+=GT[i][t]*G[t][j];GTG[i][j]=sum;}inverse(GTG,k);for(i=0;i<=k;i++)for(j=0;j<=10;j++){for(sum=0.0,t=0;t<=k;t++)sum+=BTB[i][t]*BT[t][j];matrix1[i][j]=sum;}for(i=0;i<=20;i++)for(j=0;j<=k;j++){for(sum=0.0,t=0;t<=k;t++)sum+=G[i][t]*GTG[t][j];matrix3[i][j]=sum;}for(i=0;i<=k;i++)for(j=0;j<=20;j++){for(sum=0.0,t=0;t<=10;t++)sum+=matrix1[i][t]*U[t][j];matrix2[i][j]=sum;}for(i=0;i<=k;i++)for(j=0;j<=k;j++){for(sum=0.0,t=0;t<=20;t++)sum+=matrix2[i][t]*matrix3[t][j];C[i][j]=sum;}p=0.0;for(r=0;r<=k;r++)for(s=0;s<=k;s++)p+=C[r][s]*pow(x,r)*pow(y,s);return p;}////////////主函数///////////////int _tmain(int argc, _TCHAR* argv[]){double x,y,t,u,sum,sigma;int i,j,k,kmin;printf("数表:xi,yi,f(xi,yi)(i=0,1,2...10;j=0,1,2...,20):\n");for(i=0;i<=10;i++)for(j=0;j<=20;j++){x=0.08*i;y=0.5+0.05*j;equation_solution(x,y,u,t);U[i][j]=interpolation(t,u);printf("x%d=%f, y%d=%f, f(x%d, y%d)=%.12le\n",i,x,j,y,i,j,U[i][j]);}printf("选择过程的k,σ值分别为:\n");for(k=0;k<=kmax;k++){sum=0.0;for(i=0;i<=10;i++)for(j=0;j<=20;j++)sum+=pow(surface_fitting(k,0.08*i,0.5+0.05*j)-U[i][j],2);printf("%d %.12le\n",k,sum);if(sum<=E1){kmin=k;sigma=sum;printf("达到精度要求的k,σ值分别为:\nk=%d,σ=%.12le\n",kmin,sigma);printf("p(x,y)中的系数Crs(r=0,1,...,k;s=0,1,...,k):\n");for(i=0;i<=k;i++)for(j=0;j<=k;j++)printf("Crs[%d][%d]=%.12le\n",i,j,C[i][j]);break;}else if(k==kmax)printf("无法达到曲面拟合精度要求!");}printf("数表:x*[i],y*[j],f(x*[i],y*[j]),p(x*[i],y*[j])(i=1,2,...,8;j=1,2,...,5):\n");for(i=1;i<=8;i++)for(j=1;j<=5;j++){equation_solution(0.1*i,0.5+0.2*j,u,t);printf("x*[%d]=%f,y*[%d]=%f\n",i,0.1*i,j,0.5+0.2*j);printf("f(x*[%d],y*[%d])=%.12le,",i,j,interpolation(t,u));printf("p(x*[%d],y*[%d])=%.12le\n",i,j,surface_fitting(kmin,0.1*i,0.5+0.2*j));}return 0;}五、程序输出---------------------------------------------------------------------------------------------------------------------- 1. 数表:xi,yi,f(xi,yi)(i=0,1,2...10;j=0,1,2...,20):x0=0.000000, y0=0.500000, f(x0, y0)=4.465040184807e-001x0=0.000000, y1=0.550000, f(x0, y1)=3.246832629277e-001x0=0.000000, y2=0.600000, f(x0, y2)=2.101596866827e-001x0=0.000000, y4=0.700000, f(x0, y4)=3.401895562675e-003x0=0.000000, y5=0.750000, f(x0, y5)=-8.873581363800e-002 x0=0.000000, y6=0.800000, f(x0, y6)=-1.733716327497e-001 x0=0.000000, y7=0.850000, f(x0, y7)=-2.505346114666e-001 x0=0.000000, y8=0.900000, f(x0, y8)=-3.202765063876e-001 x0=0.000000, y9=0.950000, f(x0, y9)=-3.826680661097e-001 x0=0.000000, y10=1.000000, f(x0, y10)=-4.377957667384e-001 x0=0.000000, y11=1.050000, f(x0, y11)=-4.857589414438e-001 x0=0.000000, y12=1.100000, f(x0, y12)=-5.266672548835e-001 x0=0.000000, y13=1.150000, f(x0, y13)=-5.606384797965e-001 x0=0.000000, y14=1.200000, f(x0, y14)=-5.877965387677e-001 x0=0.000000, y15=1.250000, f(x0, y15)=-6.0826********e-001 x0=0.000000, y16=1.300000, f(x0, y16)=-6.221894528764e-001 x0=0.000000, y17=1.350000, f(x0, y17)=-6.296883781856e-001 x0=0.000000, y18=1.400000, f(x0, y18)=-6.308997600028e-001 x0=0.000000, y19=1.450000, f(x0, y19)=-6.259561525454e-001 x0=0.000000, y20=1.500000, f(x0, y20)=-6.149885466094e-001 x1=0.080000, y0=0.500000, f(x1, y0)=6.380152265113e-001x1=0.080000, y1=0.550000, f(x1, y1)=5.0661********e-001x1=0.080000, y2=0.600000, f(x1, y2)=3.821763692774e-001x1=0.080000, y3=0.650000, f(x1, y3)=2.648634911537e-001x1=0.080000, y4=0.700000, f(x1, y4)=1.547802002848e-001x1=0.080000, y5=0.750000, f(x1, y5)=5.199268349094e-002x1=0.080000, y6=0.800000, f(x1, y6)=-4.346804020490e-002 x1=0.080000, y7=0.850000, f(x1, y7)=-1.316010567885e-001 x1=0.080000, y8=0.900000, f(x1, y8)=-2.124310883088e-001 x1=0.080000, y9=0.950000, f(x1, y9)=-2.860045510580e-001 x1=0.080000, y10=1.000000, f(x1, y10)=-3.523860789794e-001 x1=0.080000, y11=1.050000, f(x1, y11)=-4.116554565222e-001x1=0.080000, y13=1.150000, f(x1, y13)=-5.092367247005e-001 x1=0.080000, y14=1.200000, f(x1, y14)=-5.477611179623e-001 x1=0.080000, y15=1.250000, f(x1, y15)=-5.795943883391e-001 x1=0.080000, y16=1.300000, f(x1, y16)=-6.048572588895e-001 x1=0.080000, y17=1.350000, f(x1, y17)=-6.236734213318e-001 x1=0.080000, y18=1.400000, f(x1, y18)=-6.361682484133e-001 x1=0.080000, y19=1.450000, f(x1, y19)=-6.424676566901e-001 x1=0.080000, y20=1.500000, f(x1, y20)=-6.426971026996e-001 x2=0.160000, y0=0.500000, f(x2, y0)=8.400813957666e-001x2=0.160000, y1=0.550000, f(x2, y1)=6.997641656732e-001x2=0.160000, y2=0.600000, f(x2, y2)=5.660614423517e-001x2=0.160000, y3=0.650000, f(x2, y3)=4.391716081176e-001x2=0.160000, y4=0.700000, f(x2, y4)=3.192421380408e-001x2=0.160000, y5=0.750000, f(x2, y5)=2.063761923874e-001x2=0.160000, y6=0.800000, f(x2, y6)=1.006385238914e-001x2=0.160000, y7=0.850000, f(x2, y7)=2.060740067837e-003x2=0.160000, y8=0.900000, f(x2, y8)=-8.935402476698e-002 x2=0.160000, y9=0.950000, f(x2, y9)=-1.736269688648e-001 x2=0.160000, y10=1.000000, f(x2, y10)=-2.507999561599e-001 x2=0.160000, y11=1.050000, f(x2, y11)=-3.209322694446e-001 x2=0.160000, y12=1.100000, f(x2, y12)=-3.840977350046e-001 x2=0.160000, y13=1.150000, f(x2, y13)=-4.403821754175e-001 x2=0.160000, y14=1.200000, f(x2, y14)=-4.898811523126e-001 x2=0.160000, y15=1.250000, f(x2, y15)=-5.326979655338e-001 x2=0.160000, y16=1.300000, f(x2, y16)=-5.689418792921e-001 x2=0.160000, y17=1.350000, f(x2, y17)=-5.987265495151e-001 x2=0.160000, y18=1.400000, f(x2, y18)=-6.221686297503e-001 x2=0.160000, y19=1.450000, f(x2, y19)=-6.393865356972e-001 x2=0.160000, y20=1.500000, f(x2, y20)=-6.504993507878e-001x3=0.240000, y1=0.550000, f(x3, y1)=9.029*********e-001x3=0.240000, y2=0.600000, f(x3, y2)=7.605802668596e-001x3=0.240000, y3=0.650000, f(x3, y3)=6.247151981456e-001x3=0.240000, y4=0.700000, f(x3, y4)=4.955197560009e-001x3=0.240000, y5=0.750000, f(x3, y5)=3.731340427746e-001x3=0.240000, y6=0.800000, f(x3, y6)=2.576567488723e-001x3=0.240000, y7=0.850000, f(x3, y7)=1.491505594102e-001x3=0.240000, y8=0.900000, f(x3, y8)=4.764698677337e-002x3=0.240000, y9=0.950000, f(x3, y9)=-4.684932320146e-002 x3=0.240000, y10=1.000000, f(x3, y10)=-1.343567603849e-001 x3=0.240000, y11=1.050000, f(x3, y11)=-2.149133449274e-001 x3=0.240000, y12=1.100000, f(x3, y12)=-2.885737006348e-001 x3=0.240000, y13=1.150000, f(x3, y13)=-3.554063647857e-001 x3=0.240000, y14=1.200000, f(x3, y14)=-4.154913964886e-001 x3=0.240000, y15=1.250000, f(x3, y15)=-4.689182499695e-001 x3=0.240000, y16=1.300000, f(x3, y16)=-5.157838831247e-001 x3=0.240000, y17=1.350000, f(x3, y17)=-5.561910752001e-001 x3=0.240000, y18=1.400000, f(x3, y18)=-5.902469305629e-001 x3=0.240000, y19=1.450000, f(x3, y19)=-6.180615482412e-001 x3=0.240000, y20=1.500000, f(x3, y20)=-6.397468392579e-001 x4=0.320000, y0=0.500000, f(x4, y0)=1.271246751483e+000x4=0.320000, y1=0.550000, f(x4, y1)=1.115002018147e+000x4=0.320000, y2=0.600000, f(x4, y2)=9.646077272157e-001x4=0.320000, y3=0.650000, f(x4, y3)=8.203473694751e-001x4=0.320000, y4=0.700000, f(x4, y4)=6.824476781795e-001x4=0.320000, y5=0.750000, f(x4, y5)=5.510852085975e-001x4=0.320000, y6=0.800000, f(x4, y6)=4.263923859018e-001x4=0.320000, y7=0.850000, f(x4, y7)=3.084629956332e-001x4=0.320000, y8=0.900000, f(x4, y8)=1.973571296919e-001x4=0.320000, y10=1.000000, f(x4, y10)=-4.285992234034e-003 x4=0.320000, y11=1.050000, f(x4, y11)=-9.483392529689e-002 x4=0.320000, y12=1.100000, f(x4, y12)=-1.785729903640e-001 x4=0.320000, y13=1.150000, f(x4, y13)=-2.555537790546e-001 x4=0.320000, y14=1.200000, f(x4, y14)=-3.258401501575e-001 x4=0.320000, y15=1.250000, f(x4, y15)=-3.895069883634e-001 x4=0.320000, y16=1.300000, f(x4, y16)=-4.466382045995e-001 x4=0.320000, y17=1.350000, f(x4, y17)=-4.973249517677e-001 x4=0.320000, y18=1.400000, f(x4, y18)=-5.416640326994e-001 x4=0.320000, y19=1.450000, f(x4, y19)=-5.797564797951e-001 x4=0.320000, y20=1.500000, f(x4, y20)=-6.117062881476e-001 x5=0.400000, y0=0.500000, f(x5, y0)=1.498321052482e+000x5=0.400000, y1=0.550000, f(x5, y1)=1.334998632066e+000x5=0.400000, y2=0.600000, f(x5, y2)=1.177125123739e+000x5=0.400000, y3=0.650000, f(x5, y3)=1.025*********e+000x5=0.400000, y4=0.700000, f(x5, y4)=8.789600231744e-001x5=0.400000, y5=0.750000, f(x5, y5)=7.391451087035e-001x5=0.400000, y6=0.800000, f(x5, y6)=6.0574********e-001x5=0.400000, y7=0.850000, f(x5, y7)=4.788838610666e-001x5=0.400000, y8=0.900000, f(x5, y8)=3.586506258818e-001x5=0.400000, y9=0.950000, f(x5, y9)=2.451022361964e-001x5=0.400000, y10=1.000000, f(x5, y10)=1.382683509285e-001 x5=0.400000, y11=1.050000, f(x5, y11)=3.815486540699e-002 x5=0.400000, y12=1.100000, f(x5, y12)=-5.525282116814e-002 x5=0.400000, y13=1.150000, f(x5, y13)=-1.419868808137e-001 x5=0.400000, y14=1.200000, f(x5, y14)=-2.220944390959e-001 x5=0.400000, y15=1.250000, f(x5, y15)=-2.956352324598e-001 x5=0.400000, y16=1.300000, f(x5, y16)=-3.626795115028e-001 x5=0.400000, y17=1.350000, f(x5, y17)=-4.233061642240e-001x5=0.400000, y19=1.450000, f(x5, y19)=-5.256554266672e-001 x5=0.400000, y20=1.500000, f(x5, y20)=-5.675647436551e-001 x6=0.480000, y0=0.500000, f(x6, y0)=1.731892740383e+000x6=0.480000, y1=0.550000, f(x6, y1)=1.562034577209e+000x6=0.480000, y2=0.600000, f(x6, y2)=1.397216918208e+000x6=0.480000, y3=0.650000, f(x6, y3)=1.237801006739e+000x6=0.480000, y4=0.700000, f(x6, y4)=1.0840********e+000x6=0.480000, y5=0.750000, f(x6, y5)=9.363227723149e-001x6=0.480000, y6=0.800000, f(x6, y6)=7.947044490537e-001x6=0.480000, y7=0.850000, f(x6, y7)=6.593871980282e-001x6=0.480000, y8=0.900000, f(x6, y8)=5.304875868400e-001x6=0.480000, y9=0.950000, f(x6, y9)=4.080886854542e-001x6=0.480000, y10=1.000000, f(x6, y10)=2.922442012295e-001 x6=0.480000, y11=1.050000, f(x6, y11)=1.829822068535e-001 x6=0.480000, y12=1.100000, f(x6, y12)=8.030849403543e-002 x6=0.480000, y13=1.150000, f(x6, y13)=-1.579041305164e-002 x6=0.480000, y14=1.200000, f(x6, y14)=-1.0534********e-001 x6=0.480000, y15=1.250000, f(x6, y15)=-1.883980906096e-001 x6=0.480000, y16=1.300000, f(x6, y16)=-2.650071493189e-001 x6=0.480000, y17=1.350000, f(x6, y17)=-3.352378389040e-001 x6=0.480000, y18=1.400000, f(x6, y18)=-3.991645038868e-001 x6=0.480000, y19=1.450000, f(x6, y19)=-4.568681433016e-001 x6=0.480000, y20=1.500000, f(x6, y20)=-5.084349932782e-001 x7=0.560000, y0=0.500000, f(x7, y0)=1.971221786400e+000x7=0.560000, y1=0.550000, f(x7, y1)=1.795329599501e+000x7=0.560000, y2=0.600000, f(x7, y2)=1.624067113228e+000x7=0.560000, y3=0.650000, f(x7, y3)=1.457830582708e+000x7=0.560000, y4=0.700000, f(x7, y4)=1.296954649752e+000x7=0.560000, y5=0.750000, f(x7, y5)=1.141718105447e+000x7=0.560000, y7=0.850000, f(x7, y7)=8.490326633294e-001x7=0.560000, y8=0.900000, f(x7, y8)=7.119113522641e-001x7=0.560000, y9=0.950000, f(x7, y9)=5.810941589219e-001x7=0.560000, y10=1.000000, f(x7, y10)=4.566585132335e-001 x7=0.560000, y11=1.050000, f(x7, y11)=3.386544961394e-001 x7=0.560000, y12=1.100000, f(x7, y12)=2.271082557696e-001 x7=0.560000, y13=1.150000, f(x7, y13)=1.220250891932e-001 x7=0.560000, y14=1.200000, f(x7, y14)=2.339221963760e-002 x7=0.560000, y15=1.250000, f(x7, y15)=-6.881870197104e-002 x7=0.560000, y16=1.300000, f(x7, y16)=-1.546493442129e-001 x7=0.560000, y17=1.350000, f(x7, y17)=-2.341526664587e-001 x7=0.560000, y18=1.400000, f(x7, y18)=-3.0739********e-001 x7=0.560000, y19=1.450000, f(x7, y19)=-3.744348623481e-001 x7=0.560000, y20=1.500000, f(x7, y20)=-4.353605565359e-001 x8=0.640000, y0=0.500000, f(x8, y0)=2.215667863688e+000x8=0.640000, y1=0.550000, f(x8, y1)=2.034201133607e+000x8=0.640000, y2=0.600000, f(x8, y2)=1.856955143619e+000x8=0.640000, y3=0.650000, f(x8, y3)=1.684358164161e+000x8=0.640000, y4=0.700000, f(x8, y4)=1.516776352400e+000x8=0.640000, y5=0.750000, f(x8, y5)=1.354519041151e+000x8=0.640000, y6=0.800000, f(x8, y6)=1.197844086673e+000x8=0.640000, y7=0.850000, f(x8, y7)=1.046963049419e+000x8=0.640000, y8=0.900000, f(x8, y8)=9.020*********e-001x8=0.640000, y9=0.950000, f(x8, y9)=7.632264776629e-001x8=0.640000, y10=1.000000, f(x8, y10)=6.306048219543e-001 x8=0.640000, y11=1.050000, f(x8, y11)=5.042528145972e-001 x8=0.640000, y12=1.100000, f(x8, y12)=3.842167155457e-001 x8=0.640000, y13=1.150000, f(x8, y13)=2.705204766410e-001 x8=0.640000, y14=1.200000, f(x8, y14)=1.631685723996e-001x8=0.640000, y16=1.300000, f(x8, y16)=-3.256661939682e-002 x8=0.640000, y17=1.350000, f(x8, y17)=-1.210165348444e-001 x8=0.640000, y18=1.400000, f(x8, y18)=-2.032513996228e-001 x8=0.640000, y19=1.450000, f(x8, y19)=-2.793303595584e-001 x8=0.640000, y20=1.500000, f(x8, y20)=-3.493199575400e-001 x9=0.720000, y0=0.500000, f(x9, y0)=2.464684222659e+000x9=0.720000, y1=0.550000, f(x9, y1)=2.278058979398e+000x9=0.720000, y2=0.600000, f(x9, y2)=2.0952********e+000x9=0.720000, y3=0.650000, f(x9, y3)=1.916718127997e+000x9=0.720000, y4=0.700000, f(x9, y4)=1.742854628776e+000x9=0.720000, y5=0.750000, f(x9, y5)=1.573998427334e+000x9=0.720000, y6=0.800000, f(x9, y6)=1.410434835231e+000x9=0.720000, y7=0.850000, f(x9, y7)=1.252401750608e+000x9=0.720000, y8=0.900000, f(x9, y8)=1.100094409628e+000x9=0.720000, y9=0.950000, f(x9, y9)=9.536698512613e-001x9=0.720000, y10=1.000000, f(x9, y10)=8.132510552489e-001 x9=0.720000, y11=1.050000, f(x9, y11)=6.789307429659e-001 x9=0.720000, y12=1.100000, f(x9, y12)=5.507748485043e-001 x9=0.720000, y13=1.150000, f(x9, y13)=4.288256769731e-001 x9=0.720000, y14=1.200000, f(x9, y14)=3.131047717398e-001 x9=0.720000, y15=1.250000, f(x9, y15)=2.036155140327e-001 x9=0.720000, y16=1.300000, f(x9, y16)=1.003454782409e-001 x9=0.720000, y17=1.350000, f(x9, y17)=3.268565186572e-003 x9=0.720000, y18=1.400000, f(x9, y18)=-8.765306591329e-002 x9=0.720000, y19=1.450000, f(x9, y19)=-1.724672478188e-001 x9=0.720000, y20=1.500000, f(x9, y20)=-2.512302207523e-001 x10=0.800000, y0=0.500000, f(x10, y0)=2.717811109467e+000 x10=0.800000, y1=0.550000, f(x10, y1)=2.526399501255e+000 x10=0.800000, y2=0.600000, f(x10, y2)=2.338411386860e+000x10=0.800000, y3=0.650000, f(x10, y3)=2.154329377280e+000x10=0.800000, y4=0.700000, f(x10, y4)=1.974574556652e+000x10=0.800000, y5=0.750000, f(x10, y5)=1.799510579099e+000x10=0.800000, y6=0.800000, f(x10, y6)=1.629448220554e+000x10=0.800000, y7=0.850000, f(x10, y7)=1.464650043751e+000x10=0.800000, y8=0.900000, f(x10, y8)=1.305334967651e+000x10=0.800000, y9=0.950000, f(x10, y9)=1.151682621307e+000x10=0.800000, y10=1.000000, f(x10, y10)=1.003837419906e+000x10=0.800000, y11=1.050000, f(x10, y11)=8.619123372279e-001x10=0.800000, y12=1.100000, f(x10, y12)=7.259923711112e-001x10=0.800000, y13=1.150000, f(x10, y13)=5.961377115201e-001x10=0.800000, y14=1.200000, f(x10, y14)=4.723866279136e-001x10=0.800000, y15=1.250000, f(x10, y15)=3.547580958979e-001x10=0.800000, y16=1.300000, f(x10, y16)=2.432541841813e-001x10=0.800000, y17=1.350000, f(x10, y17)=1.378622225247e-001x10=0.800000, y18=1.400000, f(x10, y18)=3.855677032640e-002x10=0.800000, y19=1.450000, f(x10, y19)=-5.469859593446e-002x10=0.800000, y20=1.500000, f(x10, y20)=-1.419496597088e-001---------------------------------------------------------------------------------------------------------------------- 2. 选择过程的k,σ值分别为:0 1.442880771836e+0021 3.220908973638e+0002 4.659960033271e-0033 1.721175379141e-0044 3.309534299251e-0065 2.541379696823e-008---------------------------------------------------------------------------------------------------------------------- 3. 达到精度要求的k,σ值分别为:k=5, σ=2.541379696823e-008----------------------------------------------------------------------------------------------------------------------4. p(x,y)中的系数Crs(r=0,1,...,k;s=0,1,...,k): Crs[0][0]=2.021*********e+000Crs[0][1]=-3.668426808518e+000Crs[0][2]=7.092486428705e-001Crs[0][3]=8.486053724111e-001Crs[0][4]=-4.158974209824e-001Crs[0][5]=6.743199179943e-002Crs[1][0]=3.191909003403e+000Crs[1][1]=-7.411103479266e-001Crs[1][2]=-2.697124651510e+000Crs[1][3]=1.631183476044e+000Crs[1][4]=-4.847200158207e-001Crs[1][5]=6.061429014963e-002Crs[2][0]=2.568898073659e-001Crs[2][1]=1.579918701245e+000Crs[2][2]=-4.634081949386e-001Crs[2][3]=-8.134430514622e-002Crs[2][4]=1.020*********e-001Crs[2][5]=-2.101522223263e-002Crs[3][0]=-2.692603350703e-001Crs[3][1]=-7.302476753732e-001Crs[3][2]=1.076145111339e+000Crs[3][3]=-8.0701********e-001Crs[3][4]=3.028*********e-001Crs[3][5]=-4.597263977688e-002Crs[4][0]=2.174597543212e-001Crs[4][1]=-1.783723777304e-001Crs[4][2]=-7.240580777274e-002Crs[4][3]=2.433304760580e-001Crs[4][4]=-1.413347404863e-001Crs[4][5]=2.651024147029e-002Crs[5][0]=-5.590326529323e-002Crs[5][1]=1.431992428176e-001Crs[5][2]=-1.362703704945e-001Crs[5][3]=4.0719********e-002Crs[5][4]=3.775031827767e-003Crs[5][5]=-2.667701063826e-003---------------------------------------------------------------------------------------------------------------------- 5. 数表:x*[i],y*[j],f(x*[i],y*[j]),p(x*[i],y*[j])(i=1,2,...,8;j=1,2,...,5):x*[1]=0.100000,y*[1]=0.700000f(x*[1],y*[1])=1.947204079177e-001,p(x*[1],y*[1])=1.947303555857e-001x*[1]=0.100000,y*[2]=0.900000f(x*[1],y*[2])=-1.830370791887e-001,p(x*[1],y*[2])=-1.830418420683e-001x*[1]=0.100000,y*[3]=1.100000f(x*[1],y*[3])=-4.454976469148e-001,p(x*[1],y*[3])=-4.455000471734e-001x*[1]=0.100000,y*[4]=1.300000f(x*[1],y*[4])=-5.975667076413e-001,p(x*[1],y*[4])=-5.975588652304e-001x*[1]=0.100000,y*[5]=1.500000f(x*[1],y*[5])=-6.464595939011e-001,p(x*[1],y*[5])=-6.464461231867e-001x*[2]=0.200000,y*[1]=0.700000f(x*[2],y*[1])=4.0597********e-001,p(x*[2],y*[1])=4.0598********e-001x*[2]=0.200000,y*[2]=0.900000f(x*[2],y*[2])=-2.251595837462e-002,p(x*[2],y*[2])=-2.252111784579e-002x*[2]=0.200000,y*[3]=1.100000f(x*[2],y*[3])=-3.382208160396e-001,p(x*[2],y*[3])=-3.382240255991e-001x*[2]=0.200000,y*[4]=1.300000f(x*[2],y*[4])=-5.444378315219e-001,p(x*[2],y*[4])=-5.444304560698e-001x*[2]=0.200000,y*[5]=1.500000f(x*[2],y*[5])=-6.473613385679e-001,p(x*[2],y*[5])=-6.473480192174e-001x*[3]=0.300000,y*[1]=0.700000。

相关文档
最新文档