文档库 最新最全的文档下载
当前位置:文档库 › 计算方法上机题答案

计算方法上机题答案

计算方法上机题答案
计算方法上机题答案

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 (j=0;j

scanf("%lf",&a[i][j]);

for(p=0;p

for(k=p+1;k

{

m=a[k][p]/a[p][p];

for(q=p;q

a[k][q]=a[k][q]-m*a[p][q];

}

}

x4=a[3][4]/a[3][3];

x3=(a[2][4]-x4*a[2][3])/a[2][2];

x2=(a[1][4]-x4*a[1][3]-x3*a[1][2])/a[1][1];

x1=(a[0][4]-x4*a[0][3]-x3*a[0][2]-x2*a[0][1])/a[0][0];

printf("%f,%f,%f,%f",x1,x2,x3,x4);

scanf("%lf",&a[i][j]); (这一步只是为了看到运行的结果)}

运行结果

列主元消元法

function[x,det,flag]=Gauss(A,b)

[n,m]=size(A);nb=length(b);

flag='OK';det=1;x=zeros(n,1);

for k=1:n-1 max1=0;

for i=k:n

if abs(A(i,k))>max1

max1=abs(A(i,k));r=i;

end

end

if max1<1e-10

flag='failure';return;

end

if r>k

for j=k:n

z=A(k,j);A(k,j)=A(r,j);A(r,j)=z;

end

z=b(k);b(k)=b(r);b(r)=z;det=-det; end

for i=k+1:n

m=A(i,k)/A(k,k);

for j=k+1:n

A(i,j)=A(i,j)-m*A(k,j);

end

b(i)=b(i)-m*b(k);

end

det=det*A(k,k);

end

det=det*A(n,n)

if abs(A(n,n))<1e-10

flag='failure';return;

end

x(n)=b(n)/A(n,n);

for k=n-1:-1:1

for j=k+1:n

b(k)=b(k)-A(k,j)*x(j);

end

x(k)=b(k)/A(k,k);

end

运行结果:

雅可比迭代法function y=jacobi(a,b,x0) D=diag(diag(a));

U=-triu(a,1);

L=-tril(a,-1);

B=D\(L+U);

f=D\b;

y=B*x0+f;n=1;

while norm(y-x0)>1e-4 x0=y;

y=B*x0+f;n=n+1;

end

y

n

高斯赛德尔迭代法function y=seidel(a,b,x0) D=diag(diag(a));

U=-triu(a,1);

L=-tril(a,-1);

G=(D-L)\U;

f=(D-L)\b;

y=G*x0+f;n=1;

while norm(y-x0)>10^(-4) x0=y;

y=G*x0+f;n=n+1;

end

y

n

SOR迭代法

function y=sor(a,b,w,x0)

D=diag(diag(a));

U=-triu(a,1);

L=-tril(a,-1);

lw=(D-w*L)\((1-w)*D+w*U); f=(D-w*L)\b*w;

y=lw*x0+f;n=1;

while norm(y-x0)>10^(-4) x0=y;

y=lw*x0+f;n=n+1;

end

y

n

1.分段线性插值:

function y=fdxx(x0,y0,x)

p=length(y0);n=length(x0);m=length(x);

for i=1:m

z=x(i);

for j=1:n-1

if z

break;

end

end

y(i)= y0(j)*(z-x0(j+1))/(x0(j)-x0(j+1))+y0(j+1)*(z-x0(j))/(x0(j+1)-x0(j));

fprintf('y(%d)=%f\nx1=%.3fy1=%.3f\nx2=%.3fy2=%.3f\n\n',i,y(i),x0(j),y0(j),x0(j+1),y0(j+1));

end

end

结果0.39404 0.38007 0.35693

2.分段二次插值:

function y=fdec(x0,y0,x)

p=length(y0);n=length(x0);m=length(x);

for i=1:m

z=x(i);

for j=1:n-1

if z

break;

end

end

if j<2

j=j+1;

elseif (j

if (abs(x0(j)-z)>abs(x0(j+1)-z))

j=j+1;

elseif ((abs(x0(j)-z)==abs(x0(j+1)-z))&&(abs(x0(j-1)-z)>abs(x0(j+2)-z)))

j=j+1;

end

end

ans=0.0;

for t=j-1:j+1

a=1.0;

for k=j-1:j+1

if t~=k

a=a*(z-x0(k))/(x0(t)-x0(k));

end

end

ans=ans+a*y0(t);

end

y(i)=ans;

fprintf('y(%d)=%f\n x1=%.3f y1=%.3f\n x2=%.3f y2=%.3f\n x3=%.3f y3=%.3f\n\n',i,y(i),x0(j-1),y0(j-1),x0(j),y0(j),x0(j+1),y0(j+1));

end

end

结果为0.39447 0.38022 0.35725

3.拉格朗日全区间插值

function y=lglr(x0,y0,x)

p=length(y0);n=length(x0);m=length(x);

for t=1:m

ans=0.0;

z=x(t);

for k=1:n

p=1.0;

for q=1:n

if q~=k

p=p*(z-x0(q))/(x0(k)-x0(q));

end

end

ans=ans+p*y0(k);

end

y(t)=ans;

fprintf('y(%d)=%f\n',t,y(t));

end

end

结果为0.39447 0.38022 0.35722

function [p,S,mu] = polyfit(x,y,n)

if ~isequal(size(x),size(y))

error

end

x = x(:);

y = y(:);

if nargout > 2

mu = [mean(x); std(x)];

x = (x - mu(1))/mu(2);

end

V(:,n+1) = ones(length(x),1,class(x));

for j = n:-1:1

V(:,j) = x.*V(:,j+1);

end

[Q,R] = qr(V,0);

ws = warning;

p = R\(Q'*y); warning(ws);

if size(R,2) > size(R,1)

warning;

elseif warnIfLargeConditionNumber(R)

if nargout > 2

warning;

else

warning;

end

end

if nargout > 1

r = y - V*p;

S.R = R;

S.df = max(0,length(y) - (n+1));

S.normr = norm(r);

end

p = p.';

function flag = warnIfLargeConditionNumber(R) if isa(R, 'double')

flag = (condest(R) > 1e+10);

else

flag = (condest(R) > 1e+05);

end

x=[1,3,4,5,6,7,8,9,10];

y=[10,5,4,2,1,1,2,3,4];

p=polyfit(x,y,2);

y=poly2sym(p);

a=-p(1)/p(2)*0.5;xa=-p(2)/(2*p(1));min=(4*p(1)*p(3)-p(2)^2)/(4*p(1)); y

xa

min

运行截图

运行结果

function [I] = CombineTraprl(f,a,b,eps)

if(nargin ==3)

eps=1.0e-4;

end

n=1;

h=(b-a)/2;

I1=0;

I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps

n=n+1;

h=(b-a)/n;

I1=I2;

I2=0;

for i=0:n-1

x=a+h*i;

x1=x+h;

I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),finds ym(sym(f)),x1));

end

end

I=I2;

程序:

>> [q]=CombineTraprl('(1-exp(-x))^0.5/x'10^-12,1)

结果:

q =

1.8521

欧拉方法

function [x,y]=euler(fun,x0,xfinal,y0,n);

if nargin<5,n=50;

end

h=(xfinal-x0)/n;

x(1)=x0;y(1)=y0;

for i=1:n

x(i+1)=x(i)+h;

y(i+1)=y(i)+h*feval(fun,x(i),y(i));

end

程序:

[x,y]=euler('doty',0,1,1,10)

结果:

改进欧拉方法

function [x,y]=eulerpro(fun,x0,xfinal,y0,n); if nargin<5,n=50;

end

h=(xfinal-x0)/n;

x(1)=x0;

y(1)=y0;

x(i+1)=x(i)+h;

y1=y(i)+h*feval(fun,x(i),y(i));

y2=y(i)+h*feval(fun,x(i+1),y1);

y(i+1)=(y1+y2)/2;

end

程序:

>> [x,y]=eulerpro('doty',0,1,1,10)

结果:

经典RK法

function [x,y]=RungKutta4(dyfun,xspan,y0,h) x=xspan(1):h:xspan(2);

y(1)=y0;

for n=1:length(x)-1

k1=feval(dyfun,x(n),y(n));

k2=feval(dyfun,x(n)+h/2,y(n)+h/2*k1);

k3=feval(dyfun,x(n)+h/2,y(n)+h/2*k2);

k4=feval(dyfun,x(n+1),y(n)+h*k3);

y(n+1)=y(n)+h*(k1+2*k2+2*k3+k4)/6; end

程序:

dyfun=inline('(2*x*y^-2)/3');

[x,y]=RungKutta4(dyfun,[0,1],1,0.1)

标准函数

x(1)=0;

h=0.1;

for i=1:10

y(i)=(1+x(i)^2)^(1/3); end

x

Y

结果:

数值分析上机作业

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

课题八曲线拟合的最小二乘法 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量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、????? ?????----=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 。 答案:, 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)=,则二次Newton 插值多项式中x 2系数为( ); 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]内的根,进行一步后根的所在区间 为 ,1 ,进行两步后根的所在区间为 , 。 15、 、 16、 计算积分?1 5 .0d x x ,取4位有效数字。用梯形公式计算求得的近似值为 ,用辛卜 生公式计算求得的近似值为 ,梯形公式的代数精度为 1 ,辛卜生公式的代数精度为 3 。 17、 求解方程组?? ?=+=+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 。 18、 设46)2(,16)1(,0)0(===f f f ,则=)(1x l )2()(1--=x x x l ,)(x f 的二次牛顿 插值多项式为 )1(716)(2-+=x x x x N 。 19、 求积公式 ?∑=≈b a k n k k x f A x x f )(d )(0 的代数精度以( 高斯型 )求积公式为最高,具 有( 12+n )次代数精度。

数值分析上机题目详解

第一章 一、题目 设∑ =-= 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位。 感想:可以得出,算法对误差的传播有一定的影响,在计算时选一种好的算法可以使结果更为精确。从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数所得到的结果才比较准确。

计算方法练习题与答案

练习题与答案 练习题一 练习题二 练习题三 练习题四 练习题五 练习题六 练习题七 练习题八 练习题答案 练习题一 一、是非题 1.–作为x的近似值一定具有6位有效数字,且其误差限。() 2.对两个不同数的近似数,误差越小,有效数位越多。() 3.一个近似数的有效数位愈多,其相对误差限愈小。()

4.用近似表示cos x产生舍入误差。 ( ) 5.和作为的近似值有效数字位数相同。 ( ) 二、填空题 1.为了使计算的乘除法次数尽量少,应将该表达式改写 为; 2.–是x舍入得到的近似值,它有位有效数字,误差限 为,相对误差限为; 3.误差的来源是; 4.截断误差 为; 5.设计算法应遵循的原则 是。 三、选择题 1.–作为x的近似值,它的有效数字位数为( ) 。 (A) 7; (B) 3; (C) 不能确定 (D) 5. 2.舍入误差是( )产生的误差。 (A) 只取有限位数 (B) 模型准确值与用数值方法求得的准确值 (C) 观察与测量 (D) 数学模型准确值与实际值 3.用 1+x近似表示e x所产生的误差是( )误差。 (A). 模型 (B). 观测 (C). 截断 (D). 舍入 4.用s*=g t2表示自由落体运动距离与时间的关系式 (g为重力加速度),s t是在时间t内的实际距离,则s t s*是()误差。 (A). 舍入 (B). 观测 (C). 模型 (D). 截断 5.作为的近似值,有( )位有效数字。 (A) 3; (B) 4; (C) 5; (D) 6。

四、计算题 1.,,分别作为的近似值,各有几位有效数字? 2.设计算球体积允许的相对误差限为1%,问测量球直径的相对误差限最大为多少? 3.利用等价变换使下列表达式的计算结果比较精确: (1), (2) (3) , (4) 4.真空中自由落体运动距离s与时间t的关系式是s=g t2,g为重力加速度。现设g是精确的,而对t有秒的测量误差,证明:当t增加时,距离的绝对误差增加,而相对误差却减少。 5*. 采用迭代法计算,取 k=0,1,…, 若是的具有n位有效数字的近似值,求证是的具有2n位有效数字的近似值。 练习题二 一、是非题 1.单点割线法的收敛阶比双点割线法低。 ( ) 2.牛顿法是二阶收敛的。 ( ) 3.求方程在区间[1, 2]内根的迭代法总是收敛的。( ) 4.迭代法的敛散性与迭代初值的选取无关。 ( ) 5.求非线性方程f (x)=0根的方法均是单步法。 ( ) 二、填空题

计算方法的课后答案

《计算方法》习题答案 第一章 数值计算中的误差 1.什么是计算方法?(狭义解释) 答:计算方法就是将所求的的数学问题简化为一系列的算术运算和逻辑运算,以便在计算机上编程上机,求出问题的数值解,并对算法的收敛性、稳定性和误差进行分析、计算。 2.一个实际问题利用计算机解决所采取的五个步骤是什么? 答:一个实际问题当利用计算机来解决时,应采取以下五个步骤: 实际问题→建立数学模型→构造数值算法→编程上机→获得近似结果 4.利用秦九韶算法计算多项式4)(5 3 -+-=x x x x P 在3-=x 处的值,并编程获得解。 解:400)(2 3 4 5 -+?+-?+=x x x x x x P ,从而 所以,多项式4)(5 3 -+-=x x x x P 在3-=x 处的值223)3(-=-P 。 5.叙述误差的种类及来源。 答:误差的种类及来源有如下四个方面: (1)模型误差:数学模型是对实际问题进行抽象,忽略一些次要因素简化得到的,它是原始问题的近似,即使数学模型能求出准确解,也与实际问题的真解不同,我们把数学模型与实际问题之间存在的误差称为模型误差。 (2)观测误差:在建模和具体运算过程中所用的一些原始数据往往都是通过观测、实验得来的,由于仪器的精密性,实验手段的局限性,周围环境的变化以及人们的工作态度和能力等因素,而使数据必然带有误差,这种误差称为观测误差。 (3)截断误差:理论上的精确值往往要求用无限次的运算才能得到,而实际运算时只能用有限次运算的结果来近似,这样引起的误差称为截断误差(或方法误差)。 (4)舍入误差:在数值计算过程中还会用到一些无穷小数,而计算机受机器字长的限制,它所能表示的数据只能是一定的有限数位,需要把数据按四舍五入成一定位数的近似的有理数来代替。这样引起的误差称为舍入误差。 6.掌握绝对误差(限)和相对误差(限)的定义公式。 答:设* x 是某个量的精确值,x 是其近似值,则称差x x e -=* 为近似值x 的绝对误差(简称误差)。若存在一个正数ε使ε≤-=x x e * ,称这个数ε为近似值x 的绝对误差限(简称误差限或精度)。 把绝对误差e 与精确值* x 之比* **x x x x e e r -==称为近似值x 的相对误差,称

数值计算方法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(说明理由).

计算方法习题

《计算方法》练习题一 练习题第1套参考答案 一、填空题 1.Λ14159.3=π的近似值3.1428,准确数位是( 210- )。 2.满足d b f c a f ==)(,)(的插值余项=)(x R ( ))((!2) (b x a x f --''ξ ) 。 3.设)}({x P k 为勒让德多项式,则=))(),((22x P x P (5 2 )。 4.乘幂法是求实方阵(按模最大 )特征值与特征向量的迭代法。 5.欧拉法的绝对稳定实区间是( ]0,2[-)。 二、单选题 1.已知近似数,,b a 的误差限)(),(b a εε,则=)(ab ε(C )。 A .)()(b a εε B.)()(b a εε+ C.)()(b b a a εε+ D.)()(a b b a εε+ 2.设x x x f +=2)(,则=]3,2,1[f ( A )。 A.1 B.2 C.3 D.4 3.设A=? ? ????3113,则化A为对角阵的平面旋转=θ( C ). A. 2π B.3π C.4π D.6 π 4.若双点弦法收敛,则双点弦法具有(B )敛速. A.线性 B.超线性 C.平方 D.三次 5.改进欧拉法的局部截断误差阶是( C ). A .)(h o B.)(2h o C.)(3h o D.)(4h o 三、计算题 1.求矛盾方程组:??? ??=-=+=+2 42321 2121x x x x x x 的最小二乘解。 22122122121)2()42()3(),(--+-++-+=x x x x x x x x ?, 由0,021=??=??x x ? ?得:???=+=+96292321 21x x x x ,

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

《数值计算方法》上机实验报告华北电力大学 实验名称数值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 ,为了减少舍入误差,应将表达式

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

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和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、已知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-

数值计算方法上机实习题

数值计算方法上机实习题 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 ,并用牛顿迭代法;

六年级数学简便计算专项练习题(附答案+计算方法汇总)

六年级数学简便计算专项练习题(附答案+计算方法汇总) 小学阶段(高年级)的简便运算,在一定程度上突破了算式原来的运算顺序,根据运算定律、性质重组运算顺序。如果学生没真正理解运算定律、性质,他只能照葫芦画瓢。在实际解题的过程当中,学生的思路不清晰,常出现这样或那样的错误。因此,培养学生思维的灵活性就显得尤为重要。 下面,为大家整理了8种简便运算的方法,希望同学们在理解的基础上灵活运用,不提倡死记硬背哟! 1.提取公因式 这个方法实际上是运用了乘法分配律,将相同因数提取出来,考试中往往剩下的项相加减,会出现一个整数。 注意相同因数的提取。 例如: 0.92×1.41+0.92×8.59 =0.92×(1.41+8.59) 2.借来借去法 看到名字,就知道这个方法的含义。用此方法时,需要注意观察,发现规律。还要注意还哦,有借有还,再借不难。 考试中,看到有类似998、999或者1.98等接近一个非常好计算的整数的时候,往往使用借来借去法。 例如: 9999+999+99+9 =9999+1+999+1+99+1+9+1-4 3.拆分法

顾名思义,拆分法就是为了方便计算把一个数拆成几个数。这需要掌握一些“好朋友”,如:2和5,4和5,2和2.5,4和2.5,8和1.25等。分拆还要注意不要改变数的大小哦。 例如: 3.2×12.5×25 =8×0.4×12.5×25 =8×12.5×0.4×25 4.加法结合律 注意对加法结合律 (a+b)+c=a+(b+c) 的运用,通过改变加数的位置来获得更简便的运算。 例如: 5.76+13.67+4.24+ 6.33 =(5.76+4.24)+(13.67+6.33) 5.拆分法和乘法分配律结合 这种方法要灵活掌握拆分法和乘法分配律,在考卷上看到99、101、9.8等接近一个整数的时候,要首先考虑拆分。 例如: 34×9.9 = 34×(10-0.1) 案例再现:57×101=? 6.利用基准数 在一系列数种找出一个比较折中的数字来代表这一系列的数字,当然要记得这个数字的选取不能偏离这一系列数字太远。 例如: 2072+2052+2062+2042+2083

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

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. 14159.3=π的近似值3.1428,准确数位是( 2 10- )。 2.满足d b f c a f ==)(,)(的插值余项=)(x R ( ))((!2) (b x a x f --''ξ ) 。 3.设)}({x P k 为勒让德多项式,则=))(),((22x P x P (5 2 )。 4.乘幂法是求实方阵(按模最大 )特征值与特征向量的迭代法。 5.欧拉法的绝对稳定实区间是( ]0,2[-)。 二、单选题 1.已知近似数,,b a 的误差限)(),(b a εε,则=)(ab ε(C )。 A .)()(b a εε B.)()(b a εε+ C.)()(b b a a εε+ D.)()(a b b a εε+ 2.设x x x f +=2 )(,则=]3,2,1[f ( A )。 A.1 B.2 C.3 D.4 3.设A=?? ? ? ??3113,则化A为对角阵的平面旋转=θ( C ) . A. 2π B.3π C.4π D.6 π 4.若双点弦法收敛,则双点弦法具有(B )敛速. A.线性 B.超线性 C.平方 D.三次 5.改进欧拉法的局部截断误差阶是( C ). A .)(h o B.)(2 h o C.)(3 h o D.)(4 h o 三、计算题 1.求矛盾方程组:??? ??=-=+=+2 42321 2121x x x x x x 的最小二乘解。 2 212 212 2121)2()42()3(),(--+-++-+=x x x x x x x x ?, 由 0,021=??=??x x ? ?得:???=+=+9 629232121x x x x , 解得14 9 ,71821== x x 。

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

数值分析复习试题 第一章 绪论 一. 填空题 1.* x 为精确值 x 的近似值;() **x f y =为一元函数 ()x f y =1的近似值; ()**,*y x f y =为二元函数()y x f y ,2=的近似值,请写出下面的公式:**e x x =-: *** r x x e x -= ()()()*'1**y f x x εε≈? ()() () ()'***1**r r x f x y x f x εε≈ ? ()()()() ()* *,**,*2**f x y f x y y x y x y εεε??≈?+??? ()()()()() ** * *,***,**222r f x y e x f x y e y y x y y y ε??≈ ?+??? 2、 计算方法实际计算时,对数据只能取有限位表示,这时所产生的误差叫 舍入误 差 。 3、 分别用2.718281,2.718282作数e 的近似值,则其有效数字分别有 6 位和 7 位;又取 1.73≈-21 1.73 10 2 ≤?。 4、 设121.216, 3.654x x ==均具有3位有效数字,则12x x 的相对误差限为 0.0055 。 5、 设121.216, 3.654x x ==均具有3位有效数字,则12x x +的误差限为 0.01 。 6、 已知近似值 2.4560A x =是由真值T x 经四舍五入得 到,则相对误差限为 0.0000204 . 7、 递推公式,??? ? ?0n n-1y =y =10y -1,n =1,2, 如果取0 1.41y ≈作计算,则计算到10y 时,误 差为 81 10 2 ?;这个计算公式数值稳定不稳定 不稳定 . 8、 精确值 14159265.3* =π,则近似值141.3*1=π和1415.3*2=π分别有 3

数值分析上机题(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);

数值计算方法习题答案(第二版)(绪论)

数值分析 (p11页) 4 试证:对任给初值x 0, 0)a >的牛顿迭代公式 112(),0,1 ,2,......k a k k x x x k +=+= 恒成立下列关系式: 2112(1)(,0,1,2,.... (2)1,2,...... k k k x k x x k x k +-=≥= 证明: (1 )(2 1122k k k k k k x a x x x x +-??=+= =? ?? (2) 取初值00>x ,显然有0>k x ,对任意0≥k , a a x a x x a x x k k k k k ≥+??? ? ??-=???? ??+=+2 12121 6 证明: 若k x 有n 位有效数字,则n k x -?≤ -1102 1 8, 而() k k k k k x x x x x 28882182 1-=-???? ? ?+=-+ n n k k x x 21221102 1 5.22104185 .28--+?=??<-∴>≥ 1k x +∴必有2n 位有效数字。 8 解: 此题的相对误差限通常有两种解法. ①根据本章中所给出的定理: (设x 的近似数* x 可表示为m n a a a x 10......021*?±=,如果* x 具有l 位有效数字,则其相对误差限为 ()11 * *1021 --?≤ -l a x x x ,其中1a 为*x 中第一个非零数)

则7.21=x ,有两位有效数字,相对误差限为 025.0102 21 111=??≤--x x e 71.22=x ,有两位有效数字,相对误差限为 025.0102 21 122=??≤--x x e 3 2.718x =,有两位有效数字,其相对误差限为: 00025.0102 21 333=??≤--x e x ②第二种方法直接根据相对误差限的定义式求解 对于7.21=x ,0183.01<-e x ∴其相对误差限为00678.07 .20183.011≈<-x e x 同理对于71.22=x ,有 003063 .071 .20083 .022≈<-x e x 对于718.23=x ,有 00012.0718 .20003 .033≈<-x e x 备注:(1)两种方法均可得出相对误差限,但第一种是对于所有具有n 位有效数字的近似数都成立的正确结论,故他对误差限的估计偏大,但计算略简单些;而第二种方法给出较好的误差限估计,但计算稍复杂。 (2)采用第二种方法时,分子为绝对误差限,不是单纯的对真实值与近似值差值的四舍五入,绝对误差限大于或等于真实值与近似值的差。 11. 解: ......142857.3722≈,.......1415929.3113 255≈ 2102 1 722-?≤-∴ π,具有3位有效数字

计算方法模拟试题及答案

计算方法模拟试题 一、 单项选择题(每小题3分,共15分) 1.近似值210450.0?的误差限为( )。 A . 0.5 B. 0.05 C . 0.005 D. 0.0005. 2. 求积公式)2(3 1 )1(34)0(31)(2 0f f f dx x f ++≈ ?的代数精确度为( )。 A. 1 B. 2 C. 3 D. 4 3. 若实方阵A 满足( )时,则存在唯一单位下三角阵L 和上三角阵R ,使LR A =。 A. 0det ≠A B. 某个0 det ≠k A C. )1,1(0det -=≠n k A k D. ),,1(0det n k A k =≠ 4.已知?? ?? ? ?????=531221112A ,则=∞A ( )。 A. 4 B. 5 C. 6 D 9 5.当实方阵A 满足)2(,221>>-=i i λλλλ,则乘幂法计算公式1e =( )。 A. 1+k x B. k k x x 11λ++ C. k x D. k k x x 11λ-+ 二、填空题(每小题3分,共15分) 1. 14159.3=π,具有4位有效数字的近似值为 。 2. 已知近似值21,x x ,则=-?)(21x x 。 3.已知1)(2-=x x f ,则差商=]3,2,1[f 。 4.雅可比法是求实对称阵 的一种变换方法。

5.改进欧拉法的公式为 。 三、计算题(每小题12分 ,共60分) 1. 求矛盾方程组; ??? ??=-=+=+2 42321 2121x x x x x x 的最小二乘解。 2.用列主元法解方程组 ??? ??=++=++=++4 26453426352321 321321x x x x x x x x x 3.已知方程组 ???? ? ?????=????????????????????----131********x x x a a a a (1) 写出雅可比法迭代公式; (2) 证明2

计算方法练习题与答案

练习题与答案练习题一 练习题二 练习题三 练习题四 练习题五 练习题六 练习题七 练习题八 练习题答案 练习题一 一、是非题 1.*x=–作为x的近似值一定具有6位有效数字,且其误差限 4 10 2 1 - ? 。 () 2.对两个不同数的近似数,误差越小,有效数位越多。 ( ) 3.一个近似数的有效数位愈多,其相对误差限愈小。 ( ) 4.用 2 1 2 x - 近似表示cos x产生舍入误差。 ( )

和作为π的近似值有效数字位数相同。 ( ) 二、填空题 1.为了使计算 ()()23 34912111y x x x =+ -+ ---的乘除法次数尽量少,应将该表 达式改写为 ; 2.* x =–是x 舍入得到的近似值,它有 位有效数字,误差限 为 ,相对误差限为 ; 3.误差的来源是 ; 4.截断误差为 ; 5.设计算法应遵循的原则 是 。 三、选择题 1.* x =–作为x 的近似值,它的有效数字位数为( ) 。 (A) 7; (B) 3; (C) 不能确定 (D) 5. 2.舍入误差是( )产生的误差。 (A) 只取有限位数 (B) 模型准确值与用数值方法求得的准确值 (C) 观察与测量 (D) 数学模型准确值与实际值 3.用 1+x 近似表示e x 所产生的误差是( )误差。 (A). 模型 (B). 观测 (C). 截断 (D). 舍入 4.用s *=21 g t 2表示自由落体运动距离与时间的关系式 (g 为重力加速度),s t 是 在时间t 内的实际距离,则s t s *是( )误差。 (A). 舍入 (B). 观测 (C). 模型 (D). 截断 5.作为2的近似值,有( )位有效数字。 (A) 3; (B) 4; (C) 5; (D) 6。

相关文档