常州大学数值分析作业

常州大学数值分析作业
常州大学数值分析作业

1.解:

(1)x = [ 3*π/8 π/2];

Y = cos(x);

x0 = π/3;

[A,Y] = lagrange(x,y,x0);

P1 = vpa(poly2sym(A),3)

结果如下:

P1 = 1.53*x - 0.974

Y = 0.5102

(2)x = [π/4 3*π/8π/2];

Y = cos(x);

[A,Y] = lagrange(x,y,x0);

P2=vpa(poly2sym(A),3)

结果如下:

P2 = 1.18*x^2 - 0.455*x - 0.189

Y = 0.4973

(3)x = [0 π/8 π/4 3*π/8 π/2];

Y = cos(x);

[A,Y]=lagrange(x,y,x0);

结果如下:

P3 = x^4 + 0.00282*x^3 - 0.514*x^2 + 0.0232*x + 0.0287

Y = 0.5001

7.function [T]=aitken(x,y,x0,T0)

If nargin == 3

T0=[];

end

n0=size(T0,1);

m=max(size(x));

n=n0+m;T=zeros(n,n+1);

T(1:n0,1:n0+1)=T0;T(n0+1:n,1)=x;T(n0+1:n, 2)=y;

if

n0==0

i0=2;

else

i0=n0+1;

End

x=[0 1];

y=[0.5 1.25];

x0=2.8;

T0=aitken(x,y,x0);

T=T0;

x=[3.0,4.0]';

y=[3.5,2.75]';x0=2.8;

T=aitken(x,y,x0,T0);

n=max(size(x))+size(T0,1);

for i=1:n

for j=1:i+1

fprintf('%10.4f',T(i,j));

end

fprintf('\n');

End

Return

0.0000 0.5000 0 0 0

1.0000 1.2500

2.6000 0 0

3.0000 3.5000 3.3000 3.2300 0

4.0000 2.7500 2.0750 2.2850 3.4190

16.function [C,D,Y]=newpoly(x0,y0,x)

if nargin < 2 | nargin> 3

error( 'Incorrect Number of Inputs'); end

if length(x0)~=length(y0)

error('The length of x0 must be equal to it of y0');

end n=length(x0); D=zeros(n,n); D(:,1)=y0'; for j=2:n%计算差商表

for k=j:n

If abs(x0(k)-x0(k-j+1))

error('DividedbyZero,therearetwonodesarethes ame');

end

D(k,j)=(D(k,j-1)-D(k-1,j-1))/(x0(k)-x0(k-j+1));

End

End

C=D(n,n);

For k=(n-1):-1:1

C=conv(C,poly(x0(k)));

m=length(C);

C(m)=C(m)+D(k,k);

end

If nargin==3

Y=polyval(C,x);

endC=fliplr(C);

Return

x = [0 1 2 3 4 ];

y = [0.5,1.25,2.75,3.5,2.75];

[A,Y]=lagrange(x,y,x0)

x0 = [0 1 2 3 4 ];

y0 = [0.5,1.25,2.75,3.5,2.75];

[C,D,X]=newpoly(x0,y0,x)

plot(x,Y,'b-',x0,X,'r:')

A = 0.5000 -0.3125 1.4687 -0.4375 0.0313

Y = 0.5000 1.2500 2.7500

3.5000 2.7500

C = 0.0313 -0.4375 1.4688 -0.3125 0.5000

D = 0.5000 0 0

0 0

1.2500 0.7500 0 0 0

2.7500 1.5000 0.3750 0 0

3.5000 0.7500 -0.3750 -0.2500 0

2.7500 -0.7500 -0.7500 -0.1250 0.0313

X = 0.5000 1.2500 2.7500 3.5000 2.7500

fl(x)=0.5*x^4 - 0.312*x^3 + 1.47*x^2 - 0.438*x + 0.0312

fn(x)=0.5*x^4 - 0.312*x^3 + 1.47*x^2 - 0.438*x + 0.0312

6. 解:

对题中函数进行变形:

原式→y/x = a* exp(b*x) →ln(y/x) = ln(a) + b*exp(x) 化为线性形式

计算:

>> a = [1 2 3 4 5];

>> b = [1.222 2.984 5.466 8.902 13.592];

>> x = exp(a);

>> y = log(b)-log(a);

>> n = 1; >> [C]=lspoly(x,y,n);

>> y = vpa(poly2sym(C),3)

结果如下:

y = 0.00464*x + 0.384

写成题中拟合函数的形式即为:y = 1.4679*x*exp(0.00464*x)

7.function [a0,a1,a2]=ec2(h,w)

S=log(s)';N=length(h);

A=zeros(N,3);

for i=1:5

A(i,1)=1;

A(i,2)=log(h(i));

A(i,3)=log(w(i));

end

c=inv(A'*A)*(A'*S); a0=exp(c(1)); a1=c(2); a2=c(3);

return

%给出数据

h=[175 172 183 164 156]; w=[80 90 80 70 65];

s=[1000 900 1200 750 800]; [a0, a1,a2]=ec2(h,w,s)

输出结果为:

a0 =1.614815742043648e-04

a1 =3.383163094165866

a2 =-0.419165011582663

8.x= lsqcurvefit(fun,x0,xdata,ydata)

x=lsqcurvefit(fun,x0,xdata,ydata,lb,

ub)

x=lsqcurvefit(fun,x0,xdata,ydata,lb, ub,options)

[x,resnorm] = lsqcurvefit(…)

[x,resnorm,residual]=lsqcurvefit(…)

[x,resnorm,residual,exitflag]= lsqcu rvefit(…)

[x,resnorm,residual,exitflag,output] = lsqcurvefit(…)

[x,resnorm,residual,exitflag,output,l ambda] = lsqcurvefit(…)

[x,resnorm,residual,exitflag,output,l ambda,jacobian] =lsqcurvefit(…)

function F = myfun(x,xdata)

F=(x(1).*xdata).*(exp(x(2).*xdat a));

xdata=[1,2,3,4,5];

ydata=[1.222,2.984,5.466,8.902,13. 592]; x0=[0,0];

[x,resnorm]=lsqcurvefit(@myfun,x0, xdata,ydata)

输出结果为:

Local minimum found.

Optimization completed because t he size of the gradient is less than t he default value of the function toler ance.

x =

0.999958348976391 0.2000141328 12834

aaresnorm = 8.067930437509675e -7

东南大学数值分析上机题答案

数值分析上机题 第一章 17.(上机题)舍入误差与有效数 设∑=-= N j N j S 2 2 11 ,其精确值为)111-23(21+-N N 。 (1)编制按从大到小的顺序1 -1 ···1-311-21222N S N +++=,计算N S 的通用 程序; (2)编制按从小到大的顺序1 21 ···1)1(111 222-++--+ -=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数(编制程序时用单精度); (4)通过本上机题,你明白了什么? 解: 程序: (1)从大到小的顺序计算1 -1 ···1-311-21222N S N +++= : function sn1=fromlarge(n) %从大到小计算sn1 format long ; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end (2)从小到大计算1 21 ···1)1(111 2 22 -++--+-= N N S N function sn2=fromsmall(n) %从小到大计算sn2 format long ; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end (3) 总的编程程序为: function p203()

clear all format long; n=input('please enter a number as the n:') sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn fprintf('精确值为%f\n',sn); sn1=fromlarge(n); fprintf('从大到小计算的值为%f\n',sn1); sn2=fromsmall(n); fprintf('从小到大计算的值为%f\n',sn2); function sn1=fromlarge(n) %从大到小计算sn1 format long; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end function sn2=fromsmall(n) %从小到大计算sn2 format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end end 运行结果:

最新第六章习题答案-数值分析

第六章习题解答 2、利用梯形公式和Simpson 公式求积分2 1 ln xdx ? 的近似值,并估计两种方法计算值的最大 误差限。 解:①由梯形公式: 21ln 2 ()[()()][ln1ln 2]0.3466222 b a T f f a f b --= +=+=≈ 最大误差限 3''2 ()111 ()()0.0833******** T b a R f f ηη-=-=≤=≈ 其中,(1,2)η∈ ②由梯形公式: 13()[()4()()][ln14ln()ln 2]0.38586262 b a b a S f f a f f b -+= ++=++≈ 最大误差限 5(4)4()66 ()()0.0021288028802880 S b a R f f ηη-=-=≤≈, 其中,(1,2)η∈。 4、推导中点求积公式 3''()()()()() ()224 b a a b b a f x dx b a f f a b ξξ+-=-+<

清华大学数值分析A第一次作业

7、设y0=28,按递推公式 y n=y n?1? 1 100 783,n=1,2,… 计算y100,若取≈27.982,试问计算y100将有多大误差? 答:y100=y99?1 100783=y98?2 100 783=?=y0?100 100 783=28?783 若取783≈27.982,则y100≈28?27.982=0.018,只有2位有效数字,y100的最大误差位0.001 10、设f x=ln?(x? x2?1),它等价于f x=?ln?(x+ x2?1)。分别计算f30,开方和对数取6位有效数字。试问哪一个公式计算结果可靠?为什么? 答: x2?1≈29.9833 则对于f x=ln x?2?1,f30≈?4.09235 对于f x=?ln x+2?1,f30≈?4.09407 而f30= ln?(30?2?1) ,约为?4.09407,则f x=?ln?(x+ x2?1)计算结果更可靠。这是因为在公式f x=ln?(x? x2?1)中,存在两相近数相减(x? x2?1)的情况,导致算法数值不稳定。 11、求方程x2+62x+1=0的两个根,使它们具有四位有效数字。 答:x12=?62±622?4 2 =?31±312?1 则 x1=?31?312?1≈?31?30.98=?61.98 x2=?31+312?1= 1 31+312?1 ≈? 1 ≈?0.01613

12.(1)、计算101.1?101,要求具有4位有效数字 答:101.1?101= 101.1+101≈0.1 10.05+10.05 ≈0.004975 14、试导出计算积分I n=x n 4x+1dx 1 的一个递推公式,并讨论所得公式是否计算稳定。 答:I n=x n 4x+1dx 1 0= 1 4 4x+1x n?1?1 4 x n?1 4x+1 dx= 1 1 4 x n?1 1 dx?1 4 x n?1 4x+1 dx 1 = 1 4n ? 1 4 I n?1,n=1,2… I0= 1 dx= ln5 1 记εn为I n的误差,则由递推公式可得 εn=?1 εn?1=?=(? 1 )nε0 当n增大时,εn是减小的,故递推公式是计算稳定的。

东南大学数值分析上机作业汇总

东南大学数值分析上机作业 汇总 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

数值分析上机报告 院系: 学号: 姓名:

目录 作业1、舍入误差与有效数 (1) 1、函数文件cxdd.m (1) 2、函数文件cddx.m (1) 3、两种方法有效位数对比 (1) 4、心得 (2) 作业2、Newton迭代法 (2) 1、通用程序函数文件 (3) 2、局部收敛性 (4) (1)最大δ值文件 (4) (2)验证局部收敛性 (4) 3、心得 (6) 作业3、列主元素Gauss消去法 (7) 1、列主元Gauss消去法的通用程序 (7) 2、解题中线性方程组 (7) 3、心得 (9) 作业4、三次样条插值函数 (10) 1、第一型三次样条插值函数通用程序: (10) 2、数据输入及计算结果 (12)

作业1、舍入误差与有效数 设∑ =-=N j N j S 2 2 11 ,其精确值为?? ? ??---1112321N N . (1)编制按从小到大的顺序1 1 131121222-? ??+-+-=N S N ,计算N S 的通用程序; (2)编制按从大到小的顺序()1 21 11111222-???+--+-=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算642101010,,S S S ,并指出有效位数; (4)通过本上机你明白了什么? 程序: 1、函数文件cxdd.m function S=cxdd(N) S=0; i=2.0; while (i<=N) S=S+1.0/(i*i-1); i=i+1; end script 运行结果(省略>>): S=cxdd(80) S= 0.737577 2、函数文件cddx.m function S=cddx (N) S=0; for i=N:-1:2 S=S+1/(i*i-1); end script 运行结果(省略>>): S=cddx(80) S= 0.737577 3、两种方法有效位数对比

常州大学数值分析07-08试卷B及参考答案

江苏工业学院2007~2008学年第 2 学期硕士生考试试题解答 一、(10分)举例说明如何在数值计算过程中防止相近数相减及避免“大数吃小数”。 答:1)防止相近数相减举例:当x 充分大时,即1x >>时,计算 会出现相近数相减, 可以用下述数学上等价的表达式 来计算,以避免相近数相减。 ………… 5 分 2) 避免“大数吃小数”举例: 设,1:1000,i i δ=为区间[0, 0.5]上的随机数,在字长为5的计算机上计算 12100012345S δδδ=++++ 时,如果采用上述给定的顺序计算S ,则会出现大数吃小数的现象;要避免大数吃小数,这里可以采用表达式:212100012345S δδδ=++++规定的顺序来计算即可。 ………… 5 分 注:学生的举例只要符合要求均可以算对。 二、(15分) (1)叙述Newton 插值方法的方法思想; (2) 设(1)0,(2)1,(3)3,(4)5f f f f ====, 试求)(x f 的三次Newton 插值多项式; (3) 利用上述插值公式近似计算(2.3)f . 解: (1) 牛顿插值方法是通过构造如下形式的多项式 01020101()()()()()()n n n N x a a x x a x x x x a x x x x -=+-+--++-- 其中,0,1,2,,i a i n =通过Newton 差商公式得到,且仅与0,1,,,i x x x 有关,由此可以保 证在增加节点时, 原先的计算量能够被充分利用。 ………… 6 分 (2) 根据列表函数可得差商表如下: 0 0 0 0 1.0000 1.0000 0 0 3.0000 2.0000 0.5000 0 5.0000 2.0000 0 -0.1667 )(x f 的三次Newton 插值多项式为: 3()(1)0.5(1)(2)0.1667(1)(2)(3)N x x x x x x x =-+------ ………… 6 分 (3) 3(2.3)(2.3) 1.5405f N ≈≈ ………… 3 分 三、(15分) (1)简要叙述求非线性方程()0f x =根的迭代法的方法思想。 (2)选用适当的迭代方法求方程3 2 210x x x ---=在0 2.5x =附近的一个根, 精度 为3 10-。 解:(1)求非线性方程()0f x =根的迭代法的方法思想: 将方程()0f x =改写成 ()x x ?=

东南大学 数值分析 考试要求

第一章绪论 误差的基本概念:了解误差的来源,理解绝对误差、相对误差和有效数的概念,熟练掌握数据误差对函数值影响的估计式。 机器数系:了解数的浮点表示法和机器数系的运算规则。 数值稳定性:理解算法数值稳定性的概念,掌握分析简单算例数值稳定性的方法,了解病态问题的定义,学习使用秦九韶算法。 第二章非线性方程解法 简单迭代法:熟练掌握迭代格式、几何表示以及收敛定理的内容,理解迭代格式收敛的定义、局部收敛的定义和局部收敛定理的内容。 牛顿迭代法:熟练掌握Newton迭代格式及其应用,掌握局部收敛性的证明和大范围收敛定理的内容,了解Newton法的变形和重根的处理方法。 第三章线性方程组数值解法 (1)Guass消去法:会应用高斯消去法和列主元Guass消去法求解线性方程组,掌握求解三对角方程组的追赶法。 (2)方程组的性态及条件数:理解向量范数和矩阵范数的定义、性质,会计算三种常用范数,掌握谱半径与2- 范数的关系,会计算条件数,掌握实用误差分析法。 (3)迭代法:熟练掌握Jacobi迭代法、Guass-Seidel迭代法及SOR方法,能够判断迭代格式的收敛性。 (4)幂法:掌握求矩阵按模最大和按模最小特征值的幂法。 第四章插值与逼近 (1)Lagrange插值:熟练掌握插值条件、Lagrange插值多项式的表达形式和插值余项。(2)Newton插值:理解差商的定义、性质,会应用差商表计算差商,熟练掌握Newton插值多项式的表达形式,了解Newton型插值余项的表达式。 (3)Hermite插值:掌握Newton型Hermite插值多项式的求法。 (4)高次插值的缺点和分段低次插值:了解高次插值的缺点和Runge现象,掌握分段线性插值的表达形式及误差分析过程。 (5)三次样条插值:理解三次样条插值的求解思路,会计算第一、二类边界条件下的三次样条插值函数,了解收敛定理的内容。 (6)最佳一致逼近:掌握赋范线性空间的定义和连续函数的范数,理解最佳一致逼近多项式的概念和特征定理,掌握最佳一致逼近多项式的求法。 (7)最佳平方逼近:理解内积空间的概念,掌握求离散数据的最佳平方逼近的方法,会求超定方程组的最小二乘解,掌握连续函数的最佳平方逼近的求法。

东南大学《数值分析》-上机题

数值分析上机题1 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ?+?? 。 (1)编制按从大到小的顺序222 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序22 21111(1)121 N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 程序代码(matlab 编程): clc clear a=single(1./([2:10^7].^2-1)); S1(1)=single(0); S1(2)=1/(2^2-1); for N=3:10^2 S1(N)=a(1); for i=2:N-1 S1(N)=S1(N)+a(i); end end S2(1)=single(0); S2(2)=1/(2^2-1); for N=3:10^2 S2(N)=a(N-1); for i=linspace(N-2,1,N-2) S2(N)=S2(N)+a(i); end end S1表示按从大到小的顺序的S N S2表示按从小到大的顺序的S N 计算结果

通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

常州大学数值分析作业共六章

第一章:9.设2 cos 1)(x x x f -= ,给出计算函数值)012.0(f 的一个合适算法,并在字长m 给定的,十进制计算机上给出数值计算结果。 解:由 )24 21(242)2421(1)cos(1224242x x x x x x x -=-=+- -≈- 得 )24 21(cos 1)(22x x x x f -≈-= 10. 字长为5的十进制计算机上计算 )015.0(f 和)015.0(g ,并与)015.0(f 的精确值 1.79比较,说明差异存在理由,其中x e x f x 1)(-=,24 621)(3 2x x x x g +++=。

12.对任意给定的实数a 、b 、c 、试编写Matlab 程序,求方程02 =++c bx ax 的根。 解:利用教材例11的方法: 当b>0时,a ac b b x 2421---=,b ac b c x +--=4222。 13.利用1 ,753arctan 7 53<+-+-=x x x x x x 及 () 3/3arctan 6 =π ,给出一个计算π的方 法,根据此方法编写程序,给出π的至少有10位有效数字的近似值。 解:根据题中所给公式,容易得到:

() 1 2)3/3(16)3/3arctan(61 21 1 --≈=-=+∑i i n i i π 14.分别利用下式给出计算ln2的近似方法,编写相应程序并比较算法运行情况。 11,32) 1()1ln(321 1 ≤<-+++-=-=+∑∞ =+x n x x x x n x x n n n n 11),1253(21 2211ln 1253112<<-+-++++=-=-+-∞ =-∑x n x x x x n x x x n n n 解: 由运行结果可知, 方法二的绝对误差比方法一的误差要小得多。 这是因为方法一给出的计算公式含有相近数相减项,损失了有效数字。 而方法二给出的计算公式避免了相近数相减,具有较好的精度。

清华大学杨顶辉数值分析第6次作业

9.令*()(21),[0,1]n n T x T x x =-∈,试证*{()}n T x 是在[0,1] 上带权()x ρ=的正交多项式,并求****0123(),(),(),()T x T x T x T x . 证明: 1 1 * *0 1 1 * *011**0 ()()()(21)(21)211()()()()()2()()()()()()()()n m n m n m n m n m n n m n m x T x T x dx x T x dx t x x T x T x dx t T t dt t T t dt T x x T x T x dx t T t ρρρ---=--=-== = ???? ?令,则 由切比雪夫多项式1 01=02 m n dt m n m n ππ ≠??? =≠??==??? 所以*{()}n T x 是在[0,1] 上带权()x ρ= *00*11* 22 2 2*33233()(21)1()(21)21 ()(21)2(21)188()(21)4(21)3(21)3248181 T x T x T x T x x T x T x x x x T x T x x x x x x =-==-=-=-=--=-=-=---=-+- 14.已知实验数据如下: 用最小二乘法求形如2y a bx =+的经验公式,并求均方误差 解: 法方程为

22222(1,)(1,1)(1,)(,)(,1)(,)a y x b x y x x x ?????? =???? ?????? ?? 即 5 5327271.453277277699369321.5a b ??????=???????????? 解得 0.972579 0.050035a b =?? =? 拟合公式为20.9725790.050035y x =+ 均方误差 2 4 2 2 0[]0.015023i i i y a bx σ==--=∑ 21.给出()ln f x x =的函数表如下: 用拉格朗日插值求ln 0.54的近似值并估计误差(计算取1n =及2n =) 解:1n =时,取010.5,0.6x x == 由拉格朗日插值定理有 1 100.60.5 0.693147 0.510826 0.50.(60.60.51.82321)0 1.()6047()52 j j j x x x L x f x l x ==------=-=∑ 所以1ln0.54(0.54)0.620219L ≈=- 误差为ln 0.54(0.620219)= 0.004032ε=-- 2n =时,取0120.4,0.5,0.6x x x === 由拉格朗日插值定理有

东南大学-数值分析上机题作业-MATLAB版

2015.1.9 上机作业题报告 JONMMX 2000

1.Chapter 1 1.1题目 设S N =∑1j 2?1 N j=2 ,其精确值为 )1 1 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算S N 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 1.2程序 1.3运行结果

1.4结果分析 按从大到小的顺序,有效位数分别为:6,4,3。 按从小到大的顺序,有效位数分别为:5,6,6。 可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N 的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2.Chapter 2 2.1题目 (1)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321= *=*-=*x x x ○1由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收敛于根x2*。试确定尽可能大的δ。 ○2试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 2.2程序

数值分析习题六解答

习 题 六 解 答 1、在区间[0,1]上用欧拉法求解下列的初值问题,取步长h=0.1。 (1)210(1)(0)2y y y '?=--?=?(2)sin (0)0x y x e y -'?=+?=? 解:(1)取h=0.1,本初值问题的欧拉公式具体形式为 21(1)(0,1,2,)n n n y y y n +=--= 由初值y 0=y(0)=2出发计算,所得数值结果如下: x 0=0,y 0=2; x 1=0.1,2100(1)211y y y =--=-= x 2=0.2,2211(1)101y y y =--=-= 指出: 可以看出,实际上求出的所有数值解都是1。 (2)取h=0.1,本初值问题的欧拉公式具体形式为 21(sin )(0,1,2,)n x n n n y y h x e n -+=++= 由初值y 0=y(0)=0出发计算,所得数值结果如下: x 0=0,y 0=0; x 1=0.1, 02 1000 (sin )00.1(sin 0)00.1(01)0.1x y y h x e e -=++=+?+=+?+= x 2=0.2, 122110.1 (sin )0.10.1(sin 0.1)0.10.1(0.10.9)0.2 x y y h x e e --=++=+?+=+?+= 指出: 本小题的求解过程中,函数值计算需要用到计算器。 2、用欧拉法和改进的欧拉法(预测-校正法)求解初值问题,取步长h=0.1。 22(00.5) (0)1 y x y x y '?=-≤≤? =? 解:(1) 取h=0.1,本初值问题的欧拉公式具体形式为 2 1(2)(0,1,2,)n n n n y y h x y n +=+-= 由初值y 0=y(0)=1出发计算,所得数值结果如下:

东南大学数值分析上机解剖

第一章 一、题目 设∑ =-=N j N j S 22 1 1,其精确值为)11 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算SN 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-=N N S N ,计算SN 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 二、MATLAB 程序 N=input('请输入N(N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); %single 使其为单精度 Sn1=single(0); %从小到大的顺序 for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); %从大到小的顺序 for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('Sn 的值 (N=%d)\n',N); disp('____________________________________________________') fprintf('精确值 %f\n',AccurateValue); fprintf('从大到小计算的结果 %f\n',Sn1); fprintf('从小到大计算的结果 %f\n',Sn2); disp('____________________________________________________')

常州大学数值分析第三章

第三章作业 1.设节点x 0=0,x 1=π/8,x2=π/4,x3=3π/8,x4=π/2,试适当选取上述节点,用拉格朗日插值法分别构造cosx 在区间[0,π/2]上的一次、二次、四次差值多项式P 1(x ),P 2(x)和P 4(x),并分别计算P 1(π/3),P 2(π/3)和P 4(π/3). 解: x0 x1 x2 x3 x4 x π/8 π/4 3π/8 π/2 y=cosx 1 0.923879 0.707106 0.382683 (1)选择x0=0,x4=π/2的节点 y0=cosx0=1,y4=cosx4=0,可得 ) () ()()()(0101 1010 1x x x x y x x x x y x P --+--=,即 333333 .0)3/(1636620.0)(11≈+-≈πP x x P (2)选择x0=0,x2=π/4,x4=π/2的节点 y0=cosx0=1,y2=cosx2=0.707106,y4=cosx4=0,可得 ) )(())(())(() )(())(())(()(1202102 2101201 2010210 1x x x x x x x x y x x x x x x x x y x x x x x x x x y x P ----+----+----=,即 145968 .1)3/(1511124.5482067.1)(222≈++-≈πP x x x P (3)选择x0=0,,x1=π/8,x2=π/4,x3=3π/8,x4=π/2的节点y0=cosx0=1,y1=cosx1=0.923879,y2=cosx2 =0.707106,y3=cosx3=0.382683,y4=cosx4=0可得 ) ( )(4 ,04 4∏ ∑≠==--=i j j j i j i i x x x x y x P , 得 P3(x)=1+0.0031x-0.51542x +0.02423 x +0.02 844 x 4(3) 0.5001P π=/ 7.解: 选取0123=0=1=2=3x x x x ,,,为节点 >> T0=[0.0 0.5];x=[1 2 3]';y=[1.25 2.75 3.5]';x0=2.8;T=aitken(x,y,x0,T0) T = 0.0000 0.5000 0.0000 0.0000 0.0000 1.0000 1.2500 2.6000 0.0000 0.0000 2.0000 2.7500 3.6500 4.4900 0.0000 3.0000 3.5000 3.3000 3.2300 3.4820 16 1)拉格朗日差值 .选取 函数 ],[),sin()cos(ππ-∈+=x x x y x0=-pi:0.5*pi:pi; y0=cos(x0); x=-pi:0.05*pi:pi; if length(x0)~=length(y0) error('The length of x0 must be equal to it of y0'); end w=length(x0); n=w-1; L=zeros(w,w); for k=1:n+1 V=1; for j=1:n+1 if k~=j if abs(x0(k)-x0(j))

清华大学杨顶辉数值分析第5次作业答案

2.定义映射22:B R R →,()B x y =,满足y Ax =,其中 0.80.40.10.4A ??=????,2,x y R ∈ 则对任意的2 ,u v R ∈ 1111119 ||()()||||||||()||||||||||||||10B u B v Au Av A u v A u v u v -=-=-≤-=- 故映射B 对一范数是压缩的 由范数定义 ||||1 ||||max |||| 1.2 x A Ax ∞∞∞===,知必然存在0 x , 0||||1 x ∞= 使得0|||||||| 1.2 Ax A ∞∞== 设012(,)T x x x = 取 12(,0),(0,)T T u x v x ==-,则 u v x -=,有 00||()()||||||||()|||||||||| 1.21||||||||B u B v Au Av A u v Ax A x u v ∞∞∞∞∞∞∞ -=-=-===>==- 故有||()()||B u B v ∞->||||u v ∞ -,从而映射B 对无穷范数不是压缩的 4. 证明:对任意的,[,]x y a b ∈ 由拉格朗日中值定理,有 ()()'()()() 1e G x G y G x y x y e ξ ξξ-=-=-+ 其中0111b b e e e e ξξ<≤<++ 所以 |()()||()||| 11b b e e G x G y x y x y e e ξξ-=-≤-++ 故G 为[,]a b 上的压缩映射 而 ()ln(1)ln x x G x e e x =+>= 即()G x x =无根

数值分析上机题(matlab版)(东南大学)

数值分析上机题(matlab版)(东南大学)

数值分析上机报告

第一章 一、题目 精确值为)1 1 123(21+--N N 。 1) 编制按从大到小的顺序 1 1 131121222-+??+-+-= N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序 1 21 1)1(111222-+??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算6 42 10,10, 10S S S ,并指出有效位 数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 clear N=input('Please Input an N (N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); Sn1=single(0); for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('The value of Sn using different algorithms (N=%d)\n',N); disp('____________________________________________________') fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2);

常州大学数值分析09-10试卷及参考答案

常州大学2009~2010学年第 2 学期硕士生考试试题评分标准 1. (10分)当x 充分大时, 试比较 算上的差异?并叙述常见的防止误差的一些原则。 解:当x 充分大时,两个表达式在理论上恒等, 但其数值计算结果不同,前者会出现相近数相减,失去有效数位,降低计算结果精度的问题;后者避免了相近数相减的问题,尽可能地保证了计算结果的精度。 防止误差的几个基本原则主要有: 1) 防止大数“吃”小数; 2) 避免除数绝对值远远小于被除数绝对值的除法; 3) 避免相近数相减; 4) 避免使用不稳定的算法; 注意简化计算步骤,减少运算次数; ………… 5 分 2. (15分)已知列表函数 利用Newton 插值方法求()f x 的插值逼近多项式3()N x ,利用插值多项式近似计算 (1.52)f 。 解: Newton 差商表: D = 1.0000 -1.0000 - 2.0000 3.0000 4.0000 3.0000 2.0000 -1.0000 -2.5000 -1.8333 ………… 5 分 3() 1.8333^38.5000^28.6667 1.0000N x x x x =-+-+ ………… 5 分 3(1.52)(1.52) 1.0268f N ≈=。 ………… 5 分 3. (10分)已知列表函数 解:写出正规方程组 42 5.15 26 6.09 a b a b +=?? +=? ………… 5 分 解上述正规方程组得 0.9360,0.7030a b == ………… 5 分

4. (15分)写出龙贝格(Romberg )方法的数值积分公式,并用龙贝格方法计算 1 sin 0 x e dx ? , 要求误差不超过2 10-。 解:龙贝格(Romberg )方法计算定积分 ()b a f x dx ? 的数值积分公式如下: 211122221(),, 2241 3316115156416363 n n n i i i i n n n n n n n n n h b a T T f x h x x n S T T C S S R C C --=-=+=-==-=-=-∑, 其中1[()()]2 b a T f a f b -= +。 ………… 7 分 利用上述公式计算可得 romberg_table = 1.6599 1.6301 1.6319 1.6375 1.6318 1.6332 ………… 8 分 5. (10分)设213212408A -????=---????--?? , 3312b -????=??????,试用高斯消去法或LU 分解法解线性方程组Ax b =。 解:利用LU 分解法可得 121311212113A LU -???? ????==--???? ????--???? 分别解,Ly b Ux y ==可得方程组的解为112x ?? ??=-????-?? 。 6. (15分)写出解线性方程组Ax b =的Jacobi 迭代法方法及Gauss-Seidel 迭代方法的分 量形式;对下述线性方程组 12312312 3335333 x x x x x x x x x --=?? +-=??+-=-? 给出一个收敛的Gauss-seidel 迭代格式,并说明收敛的理由。 解:设() ()() () 12(,, ,)'k k k k n x x x x =为方程组的第k 次迭代解, 则解线性方程组Ax b =的Jacobi 迭代法方法及Gauss-Seidel 迭代方法的分量形式分别为

清华大学高等数值分析实验设计及答案

高等数值分析实验一 工物研13 成彬彬2004310559 一.用CG,Lanczos和MINRES方法求解大型稀疏对称正定矩阵Ax=b 作实验中,A是利用A= sprandsym(S,[],rc,3)随机生成的一个对称正定阵,S是1043阶的一个稀疏阵 A= sprandsym(S,[],0.01,3); 检验所生成的矩阵A的特征如下: rank(A-A')=0 %即A=A’,A是对称的; rank(A)=1043 %A满秩 cond(A)= 28.5908 %A是一个“好”阵 1.CG方法 利用CG方法解上面的线性方程组 [x,flag,relres,iter,resvec] = pcg(A,b,1e-6,1043); 结果如下: Iter=35,表示在35步时已经收敛到接近真实x relres= norm(b-A*x)/norm(b)= 5.8907e-007为最终相对残差 绘出A的特征值分布图和收敛曲线: S=svd(A); %绘制特征值分布 subplot(211) plot(S); title('Distribution of A''s singular values');; xlabel('n') ylabel('singular values') subplot(212); %绘制收敛曲线 semilogy(0:iter,resvec/norm(b),'-o'); title('Convergence curve'); xlabel('iteration number'); ylabel('relative residual'); 得到如下图象:

为了观察CG方法的收敛速度和A的特征值分布的关系,需要改变A的特征值: (1).研究A的最大最小特征值的变化对收敛速度的影响 在A的构造过程中,通过改变A= sprandsym(S,[],rc,3)中的参数rc(1/rc为A的条件数),可以达到改变A的特征值分布的目的: 通过改变rc=0.1,0.0001得到如下两幅图 以上三种情况下,由收敛定理2.2.2计算得到的至多叠代次数分别为:48,14和486,由于上实验结果可以看出实际叠代次数都比上限值要小较多。 由以上三图比较可以看出,A的条件数越大,即A的最大最小特征值的差别越大,叠代所需要的步骤就越多,收敛越慢。 (2)研究A的中间特征值的分布对于收敛特性的影响: 为了研究A的中间特征值的分布对收敛速度的影响,进行了如下实验: 固定A的条件数,即给定A的最大最小特征值,改变中间特征值得分布,再来生成A,具体的实现方法是,先将原来的生成A进行特征值分解: [U,S]=svd(A);

数值分析报告上机题(matlab版)(东南大学)

数值分析上机报告

第一章 一、题目 精确值为)1 1123(21+--N N 。 1) 编制按从大到小的顺序11 131121222-+ ??+-+-=N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序

三、求解结果 四、结果分析 可以得出,算法对误差的传播又一定的影响,在计算时选一种好的算法可以使结果更为精确。从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数算所得到的结果才比较准确。

第二章 一、题目 (1)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321=*=*- =*x x x a) 由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收 敛于根x 2*。试确定尽可能大的δ。 b)试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 二、通用程序

1.运行search.m 文件 结果为: The maximum delta is 0.774597 即得最大的δ为0.774597,Newton 迭代序列收敛于根* 2x =0的最大区间为 (-0.774597,0.774597)。 2.运行Newton.m 文件 在区间(,1),(1,),(,),(,1),(1,)δδδδ-∞----++∞上各输入若干个数,计算结果如下: 区间(,1)-∞-上取-1000,-100,-50,-30,-10,-8,-7,-5,-3,-1.5

常州大学数值分析

4.(1)T=1/2(3+1)=2 S=1/6(3+8+1)=2 计算其准确的结果为2 与精确值比较,T的误差为0 S的误差为0 7(1)复合梯形公式T2n的matlab 实现: function I= trapezoid(fun,a,b,n) n=2*n; h=(b-a)/(n-1); x=a:h:b; f=feval(fun,x); I=h* (0.5*f(1)+sum(f(2:n-1))+ 0.5*f(n)); function trapezoid_and_sinpsom clc; format long syms x Iexact= int(x*exp(x^2),x,0,1); a=0; b=1; for n=2:1:4 t=trapezoid(@f,a,b,n) s=simpson(@f,a,b,n) err1=vpa(Iexact-t,5) err2=vpa(Iexact-s,5) end function y=f(x)y= x*exp(x^2); return 从而得出的结果: n=2 t=1.000576811286697 s=0.860997139578795 err1=-0.14144 err2=-0.0018562 n=3 t=0.923798756293777 s=0.859533825596209 err1=-0.064658 err2=-0.00039291 n=4 t=0.895892057505771 s=0.859268455239111 err1=-0.036751 err2=-0.00012754 13.function [Dc,err]=dfDc(f,x0,h) d0=1/x0; Dc=(f(x0+h)-f(x0-h))/(2*h); err=Dc-d0; return function [Sc,err]=dfSc(f,x0,h) d0=1/x0; Sc=4/3*dfDc(f,x0,h/2)... -1/3*dfDc(f,x0,h); err=Sc-d0; return function [Cc,err]=dfCc(f,x0,h) d0=1/x0; Cc=16/15*dfSc(f,x0,h/2)... -1/15*dfSc(f,x0,h); err=Cc-d0;return f=@(x)log(x); x0=2;h=0.1; [Dc,err]=dfDc(f,x0,h) [Sc,err]=dfSc(f,x0,h) [Cc,err]=dfCc(f,x0,h) Dc=0.500417292784913 err=4.172927849132035e-04 Sc=0.499999843400513 err= -1.565994868224507e-07 Cc=0.500000000017481 err=1.748101663423540e-11 14. 3.示位法的MATLAB实现:Function [c,k]=fapo(f,a,b,epsilon,max1) Use false position to find the toot of function Input:f=the function a,b=left and right brachets of root

相关文档
最新文档