1 / 41
文档名称:

数值分析实验报告样稿.docx

格式:docx   大小:114KB   页数:41页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值分析实验报告样稿.docx

上传人:非学无以广才 2020/11/27 文件大小:114 KB

下载得到文件列表

数值分析实验报告样稿.docx

相关文档

文档介绍

文档介绍:数值分析试验汇报
(第二章)
试验题目:
分别用二分法、牛顿迭代法、割线法、史蒂芬森迭代法求方程
fx=x2+1x-15=0
根x=1,观察不一样初始值下收敛性,并给出结论。
问题分析:
题目有以下几点要求:
不一样迭代法计算根,并比较收敛性。
选定不一样初始值,比较收敛性。
试验原理:
各个迭代法简述
二分法:取有根区间[a,b]关键x0,确定新有根区间[a1,b1]区间长度仅为[a,b]区间长度一版。对压缩了有根区间[a1,b1]反复以上过程,又得到新有根区间[a2,b2],其区间长度为[a1,b1]二分之一,如此反复,……,可得一系列有根区间,区间收敛到一个点即为根。
牛顿迭代法:不动点迭代法一个特例,含有局部二次收敛特征。迭代格式为
xn+1=xn-fxnf'xn , n=0,1,2,…
割线法:是牛顿法改善,含有超线性收敛特征,. 迭代格式为
xn+1=xn-fxnfxn-fxn-1xn-xn-1 , n=1,2,…
史蒂芬森迭代法:采取不动点迭代进行预估校正。最少是平方收敛。迭代格式为
yn=φxn
zn=φyn
xn+1=xn-(yn-xn)2zn-2yn+xn
这里φx可采取牛顿迭代法迭代函数。
试验内容:
写出该问题fx函数
代码以下:
function py= f(x)
syms k;
y=(k^2+1)*(k-1)^5;
yy=diff(y,k);
py(1)=subs(y,k,x);
py(2)=subs(yy,k,x);
end
分别写出各个迭代法迭代函数
代码以下:
二分法:
function y=dichotomie(a,b,e)
i=2;
m(1)=a;
while abs(a-b)>e
t=(a+b)/2;
s1=f(a);
s2=f(b);
s3=f(t);
if s1(1)*s3(1)<=0
b=t;
else
a=t;
end
m(i)=t;
i=i+1;
end
y=[t,i+1,m];
end
牛顿迭代法:
function y=NewtonIterative(x,e)
i=2;
en=2*e;
m(1)=x;
while abs(en)>=e
s=f(x);
t=x-s(1)/s(2);
en=t-x;
x=t;
m(i)=t;
i=i+1;
end
y=[x,i+1,m];
end
牛顿割线法:
function y=Secant(x1,x2,e)
i=3;
m(1)=x1,m(2)=x2;
while abs(x2-x1)>=e
s1=f(x1);
s2=f(x2);
t=x2-(x2-x1)*s2(1)/(s2(1)-s1(1));
x1=x2;
x2=t;
m(i)=t;
i=i+1;
end
y=[x2,i+1,m];
end
史蒂芬森迭代法:
Function p=StephensonIterative(x,e)
i=2;
m(2)=x;
en=2*e;
while abs(en)>=e
y=fai(x);
z=fai(y);
t=x-(y-x)^2/(z-2*y+x);
en=t-x;
x=t;
m(i)=t;
i=i+1;
end
p=[x,i+1,m];
end
因为φx常常被使用,故能够写一个φx函数。
代码以下:
function y=fai(x)
s=f(x);
y=x-s(1)/s(2);
end
能够绘制不一样图形来比较不一样迭代法收敛性和不一样初值下收敛性。
代码以下:
clear all;
%相同初始值,不一样迭代法下收敛
x1=dichotomie(0,3,1e-10);
x2=NewtonIterative(0,1e-10);
x3=Secant(0,2, 1e-10);
x4=StephensonIterative(0,1e-10);
[x1(2),x2(2),x3(2),x4(2)]
figure,
subplot(2,2,1),plot(x1(3:x1(2))),title('二分法');
subplot(2,2,2),plot(x2(3:x2(2))),title('牛顿迭代