当前位置:文档之家› 数值计算上机作业

数值计算上机作业

数值计算上机作业
数值计算上机作业

西南交通大学

数值计算课程

上机作业

组号第1组

组员学号

班级

任课教师

2017年12月10日

目录

第1题..................................................................................................... 错误!未定义书签。

1.1 (a) .................................................................................................. 错误!未定义书签。

1.2 (b) .................................................................................................. 错误!未定义书签。第2题. (1)

2.1 (a).............................................................................................. 错误!未定义书签。

2.2 (b) ............................................................................................. 错误!未定义书签。第3题. (1)

第4题 (2)

4.1 (a).............................................................................................. 错误!未定义书签。

4.2 (b) ............................................................................................. 错误!未定义书签。

4.3 (c).............................................................................................. 错误!未定义书签。

4.4 (d) ............................................................................................. 错误!未定义书签。

4.5 (e).............................................................................................. 错误!未定义书签。第5题..................................................................................................... 错误!未定义书签。

5.1 (a).............................................................................................. 错误!未定义书签。

5.2 (b) ............................................................................................. 错误!未定义书签。第6题数值积分 (2)

6.1 (a).............................................................................................. 错误!未定义书签。

6.2 (b) ............................................................................................. 错误!未定义书签。

6.3 (c).............................................................................................. 错误!未定义书签。附录-程序清单 (13)

第1题

题中所给非线性方程的曲线如下图1所示。由图中可以看出方程根的个数为5和每个根所在大致区间,之后采用截线法求得其根的近似解。

图1

截线法迭代计算结果:

a)采用截线法求该方程的5个根的计算结果如下:

x1=-1.38129848

x2=-0.66666666

x3=0.20518292

x4=0.50000000

x5=1.17611556

收敛速度分析

b)讨论根的收敛速度

当f(x)在根的某个区域内一阶导数不为零,二阶导数连续时,截线法是超线性收敛的。此处f′x=324x5+225x4?408x3?207x2+70x+16

f′′x=1620x4+900x3?1224x2?414x+70

可以看出f′′x在x1、x2、x3、x4、x5附近都是连续的,且f′x1、f′x3、f′x4、f′x5都不为0,所以截线法在根x1、x3、x4、x5处式超线性收敛的,x2处是线性收敛的。

第2题

解题要求:①取一根附近初值,用Newton法求f的根,并给出前50步迭代结果。

=(1?34x)13(3-1)。②结果分析。

其中,f

(x)

2.1 (a)

表3-1 Newton法迭代结果

2.2 (b)

第3题

解题要求:①用Jacobi方法求该方程组(n=1000)的解。②精确到小数点后三位需要迭代步数。③计算解的误差(用无穷大范数)。

表4-1

第4题

结果

4.1(a)f =- 0.000735246*t^9 + 0.0359507*t^8 - 0.750705*t^7 + 8.74608*t^6 - 62.32*t^5 + 279.926*t^4 - 786.973*t^3 + 1323.62*t^2 - 1192.52*t + 497.288

Y=f(X)图像插值多项式图像

4.2(b)

估计2010年产量:

>>syms t f %定义符号变量

f =- 0.000735246*t^9 + 0.0359507*t^8 - 0.750705*t^7 + 8.74608*t^6 -

62.32*t^5 + 279.926*t^4 - 786.973*t^3 + 1323.62*t^2 - 1192.52*t + 497.288 %定义函数表达式

subs(f,t,18)

ans =-4.3447e+06

4.3(c)

存在龙格现象。对应该列,插值多项式不是一个好的模型,因为当n较大时,该函数在等距节点下的高次插值多项式会发生激烈的震荡。

4.4(d)

前四组数据插值多项式为:

>> xi=[1,2,3,4];yi=[67.052,68.008,69.803,72.024];f=lagranz(xi,yi)

f =- 0.0688333*t^3 + 0.8325*t^2 - 1.05967*t + 67.348

1998年产量:

>>syms t f %定义符号变量

f=-0.0688333*t^3+0.8325*t^2-1.05967*t+67.348 %定义函数表达式subs(f,t,5)

ans =74.2580

故此时不存在龙格现象。

4.5(e)

拟合程序:

>>x=[1 2 3 4 5 6 7 8 9 10];y=[67.052 68.008 69.803 72.024 73.400 72.063 74.669 74.487 74.065 76.777]

>>nafit(x,y,1)

ans =

0.9693 66.9034

>>nafit(x,y,2)

ans =

-0.0724 1.7652 65.3116

>>nafit(x,y,3)

ans =

0.0182 -0.3729 3.1512 63.7490

故一次拟合曲线为:y=0.9693x+66.9034

抛物线拟合曲线为:

65.3116

1.7652x

-0.0724x

y2+

+

=

三次拟合曲线为:

63.7490

3.1512x

0.3729x

-

0.0182x

y2

3+

+

=

(ii)估计2010年产量:

将18带入,得y1=84.3508

y2=73.6276

Y3=105.7934

(iii)所以我觉得最小二乘拟合直线最能表示表格中的数据。

第5题数值积分

解题要求:①复合梯形公式/Simpson公式、Romberg公式计算下列积分,达到精度1

2

×10?8。②给出所需的小区间数量。

6.1 (a)

精确解:

f?=x3

x2+1dx

1 0=1

2

x2

x2+1

dx2

1

=1

2

(1?1

x2+1

1

dx2=1?ln2

2

(6-1)

思路:

从节点数n=1开始使用对应的求积公式,并每次增加一个节点,当f?f?

6.1.1复合梯形公式结果

表6-1 复合梯形公式结果表

结果:f=0.153426414719

复合梯形公式所需小区间为n=4083。

6.1.2Simpson公式结果

表6-2 Simpson公式结果表

结果:f=0.153426404817

Simpson公式所需小区间数量为2n=54。

6.1.3Romberg公式结果

表6-3 Romberg公式结果表

结果:f=0.153********

Romberg公式所需小区间数量为m=7。

6.2 (b)

6.2.1复合梯形公式结果

精确解

思路与与(a )相同,但是,由于 e cosx π

0dx (6-2)无法用初等函数计算,因此根据|f n ?f n?1|

表6-4 复合梯形公式结果表

结果:f=3.97746326051

复合梯形公式所需小区间数量为n=6。

6.2.2Simpson 公式结果

表6-5 Simpson 公式结果表

结果:f=3.97746326051

Simpson 公式所需小区间数量2n=12。

6.2.3Romberg 公式结果

表6-6 Romberg 公式结果表

结果:f=3.97746326051

Romberg 公式所需小区间数量为m=8。

6.3 (c)

精确解 f ?= x 2+4

2 3

0=ln ?( 3+2) (6-3)

思路

从节点数n=1开始使用对应的求积公式,并每次增加一个节点,当f ?f ?

6.3.1复合梯形公式结果

表6-7 复合梯形公式结果表

结果:f=1.31695789193

复合梯形公式所需小区间数量为n=3291。

6.3.2Simpson 公式结果

表6-8 Simpson 公式结果表

结果:f=1.31695789236

Simpson公式所需小区间数量2n=34。

6.3.3Romberg公式结果

表6-9 Romberg公式结果表

结果:f=1.31695789692

Romberg公式所需小区间数量为m=7。

第7题

解题要求:①给定初值条件y(0)=1,求解方程的准确值。②在区间[0,1]上分别取步长0.1,0.05,0.025用Euler法求解数值解,并作图与准确解比较。③在区间[0,1]上分别取步长0.1,0.05,0.025用改进的Euler法求解数值解,并作图与准确解比较。

7.1 (a)

7.1.1方程准确解结果

7.1.2 Euler法结果

表7-1 步长结果表

Euler法图形与准确解图形比较:如图7-1

图7-1 图7-2

7.1.3改进Euler法结果

表7-2 步长结果表

改进Euler法图形与准确解图形比较:如图7-2

7.2 (b)

7.2.1方程准确解结果

7.2.2 Euler法结果

表7-3 步长结果表

Euler法图形与准确解图形比较:如图7-3

图7-3 图7-4 7.2.3改进Euler法结果

表7-4 步长结果表

改进Euler法图形与准确解图形比较:如图7-4

7.3 (c)

7.3.1方程准确解结果

7.3.2 Euler法结果

表7-5 步长结果表

Euler法图形与准确解图形比较:如图7-5

图7-5

7.3.3改进Euler 法结果

表7-6 步长结果表

改进Euler 法图形与准确解图形比较

附录

程序清单1.

Matlab 出图源代码: clc; clear;

x=-1.4:0.001:1.2;

y1=-4+16*x+35*x.^2-69*x.^3-102*x.^4+45*x.^

5+54*x.^6; plot(x,y1); grid on;

C++计算源代码: #include #include #include

using namespace std;

double x1,x2,x,e;

inti;

double y(double s);

void main()

{

//求根算法,依次求解5个根

for(i=0;i<5;i++)

{

e=1;

//给定对应的求根区间

switch(i)

{

case 0:{x1=-1.5;x2=-1.4;break;}

case 1:{x1=-1.0;x2=-0.9;break;}

case 2:{x1=0;x2=0.1;break;}

case 3:{x1=0.6;x2=0.7;break;}

case 4:{x1=1.2;x2=1.3;break;}

}

//确定求根精度并迭代求根

while(e>pow(10.0,-15))

{

x=x2-(y(x2)/(y(x2)-y(x1)))*(x2-x1);//迭代公式

x1=x2;

x2=x;

e=fabs((x2-x1)/x2);//精度计算公式

}

//输出格式控制,保留到小数点后8位

cout<

cout.precision(8);

cout<<"x"<

}

}

//题中所给方程

double y(double s)

{

double a;

a=54.0*pow(s,6)+45.0*pow(s,5)-102.0*pow (s,4)-69.0*pow(s,3)+35.0*pow(s,2)+16.0*s-4.0;

return a; }

程序清单2.

#include

#include

#include//控制输出有效数

字位数函数所在的库

using namespace std;

double fname(double x)

{ double fx;

fx=pow(1-3/(4*x),1.0/3.0);

return(fx);

}

double fnamep(double x)//定义函数f'(x) { double fx;

fx=pow((1-3/(4*x)),-2.0/3.0)*1/(4*pow(x,2 .0));

return(fx);

}

void main()

{

intn,i;

double x,f,fp;

x=0.89;//选定初值

n=50;//迭代次数

for(i=1;i<=n;i++)//newton迭代

{

x=x-fname(x)/fnamep(x);

cout<<"n="<

}

程序清单3.

#include

#include

#include//控制输出有效数

字位数函数所在的库

using namespace std;

void main()

{ static double A[1000][1000];

double b[1000],x[1000],xp[1000];

intn,i,j,k,m;

m=0;

double delta,max,eps;

delta=0.0;

max=1;

eps=1e-3;

k=0;

n=1000;

for(i=0;i

for(j=0;j

{

if(i==j)

A[i][j]=2.0;

else

{if((i==j-1)|(i==j+1))

A[i][j]=1.0;

else

A[i][j]=0.0;}

}

for(i=0;i

{

b[i]=0.0;

x[i]=0.0;

}

b[0]=1.0;

b[n-1]=-1.0;

while(max>=eps)//设置精度

{ for(i=0;i

{

xp[i]=x[i];

double ax=0;

for(j=0;j

{ax=ax+A[i][j]*x[j];}

ax=ax-A[i][i]*x[i];

x[i]=1/A[i][i]*(b[i]-ax);

}

max=0.0;

for(i=0;i

{ delta=fabs(x[i]-xp[i]);

if(delta>max)

max=delta;

}

m++;//迭代步数计数

}

for(i=0;i

{ cout<

cout<

cout<<"解的精度为"<

max=0.0;

for(i=0;i

{ delta=fabs(fabs(x[i])-1.0);

if(delta>max)

max=delta;

}

cout<<"解的误差为"<

cout<<"迭代步数为"<

system("pause");

}

程序清单4.

f =- 0.000735246*t^9 + 0.0359507*t^8 -

0.750705*t^7 + 8.74608*t^6 - 62.32*t^5 + 279.926*t^4 - 786.973*t^3 + 1323.62*t^2 - 1192.52*t + 497.288

Y=f(X)图像插值多项式图像

(b)估计2010年产量:

>>syms t f %定义符号变量

f =- 0.000735246*t^9 + 0.0359507*t^8 -

0.750705*t^7 + 8.74608*t^6 - 62.32*t^5 + 279.926*t^4 - 786.973*t^3 + 1323.62*t^2 - 1192.52*t + 497.288 %定义函数表达式

subs(f,t,18)

ans =-4.3447e+06

(c)存在龙格现象。对应该列,插值多项式不是一个好的模型,因为当n较大时

,该函数在等距节点下的高次插值多项式会发生激烈的震荡。

(d)前四组数据插值多项式为:

>>

xi=[1,2,3,4];yi=[67.052,68.008,69.803,72.024];f= lagranz(xi,yi)

f =- 0.0688333*t^3 + 0.8325*t^2 - 1.05967*t +

67.348

1998年产量:

>>syms t f %定义符号变量

f=-0.0688333*t^3+0.8325*t^2-1.05967*t+67.348

%定义函数表达式

subs(f,t,5)

ans =74.2580

故此时不存在龙格现象。

(e)拟合程序:

>>x=[1 2 3 4 5 6 7 8 9 10];y=[67.052 68.008 69.803 72.024 73.400 72.063 74.669 74.487 74.065 76.777]

>>nafit(x,y,1)

ans =

0.9693 66.9034

>>nafit(x,y,2)

ans =

-0.0724 1.7652 65.3116

>>nafit(x,y,3)

ans =

0.0182 -0.3729 3.1512 63.7490

故一次拟合曲线为:y=0.9693x+66.9034 抛物线拟合曲线为:

三次拟合曲线为:

(ii)估计2010年产量:

将18带入,得y1=84.3508

y2=73.6276

Y3=105.7934

(iii)所以我觉得最小二乘拟合直线最能表示表格中的数据。

程序清单5.(Simpson):

#include

#include

#include//控制输出有效数

字位数函数所在的库

using namespace std;

double fname(double x)//定义函数f(x)

{ double fx;

fx=pow(x,3.0)/(pow(x,2.0)+1);

return(fx);

}

void main()

{

double a,b,n,h,x,f,eps;

cout<<"请输入积分下界a(小数形式)"<>a;

cout<<"请输入积分上界b(小数形式)"<>b;

cout<<"请输入要求的精度eps(小数形式)"<

cin>>eps;

cout<<"a="<

h="<

f="<

n++;//增加节点数

}

system("pause");

}

程序清单6.(romberg公式):

#include

#include

#include//控制输出有效数

字位数函数所在的库

using namespace std;

double fname(double x)//定义函数f(x)

{ double fx;

fx=pow(x,3.0)/(pow(x,2.0)+1);

return(fx);

}

void main()

{

double T[100][100];

double a,b,fn,eps;

a=0.0;

b=1.0;

eps=1e-4;

intn,m,i,j;

for(i=0;i<100;i++)

for(j=0;j<100;j++)

T[i][j]=0;//初始化矩阵

T[0][0]=(b-a)/2*(fname(a)+fname(b));

n=7;

for(j=1;j<=n;j++)//计算T[0][k]

{ fn=0.0;

for(int

p=1;p<=(pow(2.0,(double)(j-1)));p++)

{fn=fn+fname(a+(2*p-1)*(b-a)/pow(2.0,(do uble)j));}

T[0][j]=T[0][j-1]/2+(b-a)/pow(2.0,(double)j)*fn;

}

for(i=1;i<=n;i++)//计算T[m][l]

for(j=0;j<(n-i);j++)//输出上三角

{ T[i][j]=(pow(4.0,(double)i)*T[i-1][j+1]- T[i-1][j])/(pow(4.0,(double)i)-1);

if(fabs(T[i][0]-T[i-1][0])

}

for(i=0;i

{

for(j=0;j

cout<

}

system("pause");

}

程序清单七(Eular1)

#include

#include

#include//控制输出有效数

字位数函数所在的库

using namespace std;

double fname(double x,double y)

//定义函数f(x,y)

{ double fx;

fx=x;

return(fx);

}

void main()

{

double x,y,a,b,h;

a=0.0;//设置区间

b=1.0;

h=0.1; //设置步长

x=a;

y=1.0;//给定初值条件

intm,n;

m=0;

n=(b-a)/h;

for(inti=0;i<=n;i++)//Euler方法

数值分析上机作业

数值分析上机实验报告 选题:曲线拟合的最小二乘法 指导老师: 专业: 学号: 姓名:

课题八曲线拟合的最小二乘法 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y 与时间t 的拟合曲线。 二、要求 1、用最小二乘法进行曲线拟合; 2、近似解析表达式为()33221t a t a t a t ++=?; 3、打印出拟合函数()t ?,并打印出()j t ?与()j t y 的误差,12,,2,1 =j ; 4、另外选取一个近似表达式,尝试拟合效果的比较; 5、*绘制出曲线拟合图*。 三、目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系。 四、计算公式 对于给定的测量数据(x i ,f i )(i=1,2,…,n ),设函数分布为 ∑==m j j j x a x y 0)()(? 特别的,取)(x j ?为多项式 j j x x =)(? (j=0, 1,…,m )

则根据最小二乘法原理,可以构造泛函 ∑∑==-=n i m j i j j i m x a f a a a H 1 10))((),,,(? 令 0=??k a H (k=0, 1,…,m ) 则可以得到法方程 ???? ??????? ?=????????????????????????),(),(),(),(),(),(),(),(),(),(),(),(1010101111000100m m m m m m m m f f f a a a ????????????????????? 求该解方程组,则可以得到解m a a a ,,,10 ,因此可得到数据的最小二乘解 ∑=≈m j j j x a x f 0)()(? 曲线拟合:实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。 五、结构程序设计 在程序结构方面主要是按照顺序结构进行设计,在进行曲线的拟合时,为了进行比较,在程序设计中,直接调用了最小二乘法的拟合函数polyfit ,并且依次调用了plot 、figure 、hold on 函数进行图象的绘制,最后调用了一个绝对值函数abs 用于计算拟合函数与原有数据的误差,进行拟合效果的比较。

数值计算方法》试题集及答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=5.9,则二次Newton 插值多项式中x 2系数为( 0.15 ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精度 为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表达 式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式1999 2001-

数值分析上机题目详解

第一章 一、题目 设∑ =-= N N j S 2 j 2 1 1,其精确值为)11 123(21+--N N 。 1) 编制按从大到小的顺序1 1 13112122 2-+??+-+-=N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 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 (N=%d)\n',N); fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2); disp('____________________________________________________')

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

计算方法上机题答案

2.用下列方法求方程e^x+10x-2=0的近似根,要求误差不超过5*10的负4次方,并比较计算量 (1)二分法 (局部,大图不太看得清,故后面两小题都用局部截图) (2)迭代法

(3)牛顿法 顺序消元法 #include #include #include int main() { int N=4,i,j,p,q,k; double m; double a[4][5]; double x1,x2,x3,x4; for (i=0;i

for(k=p+1;kmax1 max1=abs(A(i,k));r=i; end end

数值分析上机作业

昆明理工大学工科研究生《数值分析》上机实验 学院:材料科学与工程学院 专业:材料物理与化学 学号:2011230024 姓名: 郑录 任课教师:胡杰

P277-E1 1.已知矩阵A= 10787 7565 86109 75910 ?? ?? ?? ?? ?? ??,B= 23456 44567 03678 00289 00010 ?? ?? ?? ?? ?? ?? ?? ?? ,错误!未找到引用源。 = 11/21/31/41/51/6 1/21/31/41/51/61/7 1/31/41/51/61/71/8 1/41/51/61/71/81/9 1/51/61/71/81/91/10 1/61/71/81/91/101/11?????????????????? (1)用MA TLAB函数“eig”求矩阵全部特征值。 (2)用基本QR算法求全部特征值(可用MA TLAB函数“qr”实现矩阵的QR分解)。解:MA TLAB程序如下: 求矩阵A的特征值: clear; A=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10]; E=eig(A) 输出结果: 求矩阵B的特征值: clear; B=[2 3 4 5 6;4 4 5 6 7;0 3 6 7 8;0 0 2 8 9;0 0 0 1 0]; E=eig(B) 输出结果:

求矩阵错误!未找到引用源。的特征值: clear; 错误!未找到引用源。=[1 1/2 1/3 1/4 1/5 1/6; 1/2 1/3 1/4 1/5 1/6 1/7; 1/3 1/4 1/5 1/6 1/7 1/8; 1/4 1/5 1/6 1/7 1/8 1/9;1/5 1/6 1/7 1/8 1/9 1/10; 1/6 1/7 1/8 1/9 1/10 1/11]; E=eig(错误!未找到引用源。) 输出结果: (2)A= 10 7877565861097 5 9 10 第一步:A0=hess(A);[Q0,R0]=qr(A0);A1=R0*Q0 返回得到: 第二部:[Q1,R1]=qr(A1);A2=R1*Q1

数值计算方法答案

数值计算方法习题一(2) 习题二(6) 习题三(15) 习题四(29) 习题五(37) 习题六(62) 习题七(70) 2009.9,9

习题一 1.设x >0相对误差为2%4x 的相对误差。 解:由自变量的误差对函数值引起误差的公式: (())(())'()()()() f x x f x f x x f x f x δδ?= ≈得 (1)()f x = 11 ()()*2%1% 22x x δδδ≈ ===; (2)4 ()f x x =时 44 4 ()()'()4()4*2%8%x x x x x x δδδ≈ === 2.设下面各数都是经过四舍五入得到的近似数,即误差不超过最后一位的半个单位,试指出他们各有几位有效数字。 (1)12.1x =;(2)12.10x =;(3)12.100x =。 解:由教材9P 关于1212.m n x a a a bb b =±型数的有效数字的结论,易得上面三个数的有效 数字位数分别为:3,4,5 3.用十进制四位浮点数计算 (1)31.97+2.456+0.1352; (2)31.97+(2.456+0.1352) 哪个较精确? 解:(1)31.97+2.456+0.1352 ≈2 1 ((0.3197100.245610)0.1352)fl fl ?+?+ =2 (0.3443100.1352)fl ?+ =0.3457210? (2)31.97+(2.456+0.1352) 2 1 (0.319710(0.245610))fl fl ≈?+? = 21 (0.3197100.259110)fl ?+? =0.34562 10? 易见31.97+2.456+0.1352=0.3456122 10?,故(2)的计算结果较精确。 4.计算正方形面积时,若要求面积的允许相对误差为1%,测量边长所允许的相对误差限为多少?

数值计算方法I上机实验考试题

数值计算方法I 上机实验考试题(两题任选一题) 1.小型火箭初始质量为900千克,其中包括600千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生30000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数为0.4(千克/米).重力加速度取9.8米/秒2. A. 建立火箭升空过程的数学模型(微分方程); B. 求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点的时间和高度. 2.小型火箭初始质量为1200千克,其中包括900千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生40000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数记作k ,火箭升空过程的数学模型为 0)0(,0,01222==≤≤-+?? ? ??-==t dt dx x t t mg T dt dx k dt x d m 其中)(t x 为火箭在时刻t 的高度,m =1200-15t 为火箭在时刻t 的质量,T (=30000牛顿)为推力,g (=9.8米/秒2)为重力加速度, t 1 (=900/15=60秒)为引擎关闭时刻. 今测得一组数据如下(t ~时间(秒),x ~高度(米),v ~速度(米/秒)): 现有两种估计比例系数k 的方法: 1.用每一个数据(t,x,v )计算一个k 的估计值(共11个),再用它们来估计k 。 2.用这组数据拟合一个k . 请你分别用这两种方法给出k 的估计值,对方法进行评价,并且回答,能否认为空气阻力系数k=0.5(说明理由).

《数值计算方法》上机实验报告

《数值计算方法》上机实验报告华北电力大学 实验名称数值il?算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一. 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程 *对于非线性方程,若已知根的一个近似值,将在处展开成一阶 xxfx ()0, fx ()xkk 泰勒公式 "f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2! 忽略高次项,有 ,fxfxfxxx 0 ()()(),,, kkk 右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的 **根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkk fx 0 fx 0 0,

解出 fX 0 *k XX,, k' fx 0 k 水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ik fx ()k 八XX, Ikk* fx()k 这就是牛顿迭代公式。 ,2,计算机程序框图:,见, ,3,输入变量、输出变量说明: X输入变量:迭代初值,迭代精度,迭代最大次数,\0 输出变量:当前迭代次数,当前迭代值xkl ,4,具体算例及求解结果: 2/16 华北电力大学实验报吿 开始 读入 l>k /fx()0?,0 fx 0 Oxx,,01* fx ()0 XX,,,?10 kk, ,1,kN, ?xx, 10 输出迭代输出X输出奇异标志1失败标志

,3,输入变量、输出变量说明: 结束 例:导出计算的牛顿迭代公式,并il ?算。(课本P39例2-16) 115cc (0), 求解结果: 10. 750000 10.723837 10. 723805 10. 723805 2、列主元素消去法求解线性方程组,1,算法原理: 高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角 3/16 华北电力大学实验报告方程组求解。 列选主元是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝 aakkkkkk 对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的 两行(包括常ekk 数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结 ,2,计算机程序框图:,见下页, 输入变量:系数矩阵元素,常向量元素baiji 输出变量:解向量元素bbb,,12n

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式就是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差与( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 10、已知f (1)=2,f (2)=3,f (4)=5、9,则二次Newton 插值多项式中x 2系数为( 0、15 ); 11、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式

计算方法试题库讲解

计算方法 一、填空题 1.假定x ≤1,用泰勒多项式?+??+++=! !212n x x x e n x ,计算e x 的值,若要求截断误差不超过0.005,则n=_5___ 2. 解 方 程 03432 3=-+x -  x x 的牛顿迭代公式 )463/()343(121121311+--+--=------k k k k k k k x x x x x x x 3.一阶常微分方程初值问题 ?????= ='y x y y x f y 0 0)() ,(,其改进的欧拉方法格式为)],(),([21 1 1 y x y x y y i i i i i i f f h +++++= 4.解三对角线方程组的计算方法称为追赶法或回代法 5. 数值求解初值问题的四阶龙格——库塔公式的局部截断误差为o(h 5 ) 6.在ALGOL 中,简单算术表达式y x 3 + 的写法为x+y ↑3 7.循环语句分为离散型循环,步长型循环,当型循环. 8.函数)(x f 在[a,b]上的一次(线性)插值函数= )(x l )()(b f a b a x a f b a b x --+-- 9.在实际进行插值时插值时,将插值范围分为若干段,然后在每个分段上使用低阶插值————如线性插值和抛物插值,这就是所谓分段插值法 10、数值计算中,误差主要来源于模型误差、观测误差、截断误差和舍入误差。 11、电子计算机的结构大体上可分为输入设备 、 存储器、运算器、控制器、 输出设备 五个主要部分。 12、算式2 cos sin 2x x x +在ALGOL 中写为))2cos()(sin(2↑+↑x x x 。 13、ALGOL 算法语言的基本符号分为 字母 、 数字 、 逻辑值、 定义符四大

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

东南大学数值分析上机作业 汇总 -标准化文件发布号:(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、两种方法有效位数对比

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

计算方法上机实习题大作业(实验报告).

计算方法实验报告 班级: 学号: 姓名: 成绩: 1 舍入误差及稳定性 一、实验目的 (1)通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; (2)通过上机计算,了解舍入误差所引起的数值不稳定性 二、实验内容 1、用两种不同的顺序计算10000 21n n -=∑,分析其误差的变化 2、已知连分数() 1 01223//(.../)n n a f b b a b a a b =+ +++,利用下面的算法计算f : 1 1 ,i n n i i i a d b d b d ++==+ (1,2,...,0 i n n =-- 0f d = 写一程序,读入011,,,...,,,...,,n n n b b b a a 计算并打印f 3、给出一个有效的算法和一个无效的算法计算积分 1 041 n n x y dx x =+? (0,1,...,1 n = 4、设2 2 11N N j S j == -∑ ,已知其精确值为1311221N N ?? -- ?+?? (1)编制按从大到小的顺序计算N S 的程序 (2)编制按从小到大的顺序计算N S 的程序 (3)按两种顺序分别计算10001000030000,,,S S S 并指出有效位数 三、实验步骤、程序设计、实验结果及分析 1、用两种不同的顺序计算10000 2 1n n -=∑,分析其误差的变化 (1)实验步骤: 分别从1~10000和从10000~1两种顺序进行计算,应包含的头文件有stdio.h 和math.h (2)程序设计: a.顺序计算

#include #include void main() { double sum=0; int n=1; while(1) { sum=sum+(1/pow(n,2)); if(n%1000==0)printf("sun[%d]=%-30f",n,sum); if(n>=10000)break; n++; } printf("sum[%d]=%f\n",n,sum); } b.逆序计算 #include #include void main() { double sum=0; int n=10000; while(1) { sum=sum+(1/pow(n,2)); if(n%1000==0) printf("sum[%d]=%-30f",n,sum); if(n<=1)break; n--; } printf("sum[%d]=%f\n",n,sum); } (3)实验结果及分析: 程序运行结果: a.顺序计算

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

数值计算方法上机实习题

数值计算方法上机实习题 1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+ -=-,从I 0=0.1824, 0=0.1823I 出发,计算20I ; (2) 20=0I ,20=10000I , 用n I I n n 51 5111+- =--,计算0I ; (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 答:第一个算法可得出 e 0=|I 0?I 0 ?| e n =|I n ?I n ?|=5n |e 0| 易知第一个算法每一步计算都把误差放大了5倍,n 次计算后更是放大了5n 倍,可靠性低。 第二个算法可得出 e n =|I n ?I n ?| e 0=(15 )n |e n | 可以看出第二个算法每一步计算就把误差缩小5倍,n 次后缩小了5n 倍,可靠性高。

2. 求方程0210=-+x e x 的近似根,要求41105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 计算根与步数程序: fplot(@(x) exp(x)+10*x-2,[0,1]); grid on; syms x; f=exp(x)+10*x-2; [root,n]=EFF3(f,0,1); fprintf('root=%6.8f ,n=%d \n',root,n); 计算结果显示: root=0.09057617 ,n=11 (2) 取初值00=x ,并用迭代10 21 x k e x -=+;

(3) 加速迭代的结果; (4) 取初值00 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程序

数值分析上机题参考答案.docx

如有帮助欢迎下载支持 数值分析上机题 姓名:陈作添 学号: 040816 习题 1 20.(上机题)舍入误差与有效数 N 1 1 3 1 1 设 S N ,其精确值为 。 2 2 2 N N 1 j 2 j 1 (1)编制按从大到小的顺序 1 1 1 ,计算 S 的通用程序。 S N 1 32 1 N 2 1 N 2 2 (2)编制按从小到大的顺序 1 1 1 ,计算 S 的通用程序。 S N 1 (N 1)2 1 22 1 N N 2 (3)按两种顺序分别计算 S 102 , S 104 , S 106 ,并指出有效位数。 (编制程序时用单精度) (4)通过本上机题,你明白了什么? 按从大到小的顺序计算 S N 的通用程序为: 按从小到大的顺序计算 S N 的通用程序为: #include #include float sum(float N) float sum(float N) { { float j,s,sum=0; float j,s,sum=0; for(j=2;j<=N;j++) for(j=N;j>=2;j--) { { s=1/(j*j-1); s=1/(j*j-1); sum+=s; sum+=s; } } return sum; return sum; } } 从大到小的顺序的值 从小到大的顺序的值 精确值 有效位数 从大到小 从小到大 0.740049 0.74005 0.740049 6 5 S 102 0.749852 0.7499 0.7499 4 4 S 104 0.749852 0.749999 0.749999 3 6 S 106 通过本上机题, 看出按两种不同的顺序计算的结果是不相同的, 按从大到小的顺序计算 的值与精确值有较大的误差, 而按从小到大的顺序计算的值与精确值吻合。 从大到小的顺序 计算得到的结果的有效位数少。 计算机在进行数值计算时会出现“大数吃小数”的现象,导 致计算结果的精度有所降低, 我们在计算机中进行同号数的加法时, 采用绝对值较小者先加 的算法,其结果的相对误差较小。

计算方法上机作业集合

第一次&第二次上机作业 上机作业: 1.在Matlab上执行:>> 5.1-5-0.1和>> 1.5-1-0.5 给出执行结果,并简要分析一下产生现象的原因。 解:执行结果如下: 在Matlab中,小数值很难用二进制进行描述。由于计算精度的影响,相近两数相减会出现误差。 2.(课本181页第一题) 解:(1)n=0时,积分得I0=ln6-ln5,编写如下图代码

从以上代码显示的结果可以看出,I 20的近似值为0.7465 (2)I I =∫I I 5+I 10dx,可得∫I I 610dx ≤∫I I 5+I 10dx ≤∫I I 510dx,得 16(I +1)≤I I ≤15(I +1),则有1126≤I 20≤1105, 取I 20=1 105 ,以此逆序估算I 0。代码段及结果如下图所示

(3)从I20估计的过程更为可靠。首先根据积分得表达式是可知,被积函数随着n的增大,其所围面积应当是逐步减小的,即积分值应是随着n的递增二单调减小的,(1)中输出的值不满足这一条件,(2)满足。设I I表示I I的近似值,I I-I I=(?5)I(I0?I0)(根据递推公式可以导出此式),可以看出,随着n的增大,误差也在增大,所以顺序估计时,算法不稳定性逐渐增大,逆序估计情况则刚好相反,误差不断减小,算法逐渐趋于稳定。 2.(课本181页第二题)

(1)上机代码如图所示 求得近似根为0.09058 (2)上机代码如图所示 得近似根为0.09064;

(3)牛顿法上机代码如下 计算所得近似解为0.09091 第三次上机作业上机作业181页第四题 线性方程组为 [1.13483.8326 0.53011.7875 1.16513.4017 2.53301.5435 3.4129 4.9317 1.23714.9998 8.76431.3142 10.67210.0147 ][ I1 I2 I3 I4 ]=[ 9.5342 6.3941 18.4231 16.9237 ] (1)顺序消元法 A=[1.1348,3.8326,1.1651,3.4017;0.5301,1.7875,2.5330,1.5435; 3.4129, 4.9317,8.7643,1.3142;1.2371,4.9998,10.6721,0.0147]; b=[9.5342;6.3941;18.4231;16.9237]; 上机代码(函数部分)如下 function [b] = gaus( A,b )%用b返回方程组的解 B=[A,b]; n=length(b); RA=rank(A); RB=rank(B);

数值分析上机作业1-1

数值计算方法上机题目1 1、实验1. 病态问题 实验目的: 算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出: 考虑一个高次的代数多项式 ∏=-= ---=20 1)()20)...(2)(1()(k k x x x x x p (E1-1) 显然该多项式的全部根为l ,2,…,20,共计20个,且每个根都是单重的(也称为简 单的)。现考虑该多项式方程的一个扰动 0)(19 =+x x p ε (E1-2) 其中ε是一个非常小的数。这相当于是对(E1-1)中19 x 的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。 实验内容: 为了实现方便,我们先介绍两个 Matlab 函数:“roots ”和“poly ”,输入函数 u =roots (a ) 其中若变量a 存储1+n 维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,...,,+n a a a ,则输出u 的各分量是多项式方程 0...1121=++++-n n n n a x a x a x a 的全部根,而函数 b=poly(v) 的输出b 是一个n +1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“Poly ”是两个互逆的运算函数. ve=zeros(1,21); ve(2)=ess; roots(poly(1:20))+ve) 上述简单的Matlab 程序便得到(E1-2)的全部根,程序中的“ess ”即是(E1-2)中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数ε很小,我们自然感觉(E1-1)和(E1-2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何? (2)将方程(E1-2)中的扰动项改成18 x ε或其他形式,实验中又有怎样的现象出现?

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b );

9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公式为 ( )] ,(),([2111+++++=n n n n n n y x f y x f h y y ); 10、已知f (1)=2,f (2)=3,f (4)=5.9,则二次Newton 插值多项式中x 2系数为 ( 0.15 ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 13、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。 14、 用二分法求方程01)(3 =-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间 为 0.5,1 ,进行两步后根的所在区间为 0.5,0.75 。 15、 计算积分?1 5 .0d x x ,取4位有效数字。用梯形公式计算求得的近似值为 0.4268 , 用辛卜生公式计算求得的近似值为 0.4309 ,梯形公式的代数精度为 1 ,辛卜生公式的代数精度为 3 。 16、 求解方程组???=+=+042.01532121x x x x 的高斯—塞德尔迭代格式为 ? ????-=-=+++20/3/)51()1(1)1(2)(2)1(1 k k k k x x x x ,该迭代格式的迭代矩阵的谱半径)(M ρ= 121 。

相关主题
文本预览
相关文档 最新文档