matlab杜利特尔算法,计算方法报告.doc

编程入门 行业动态 更新时间:2024-10-10 12:20:50

matlab杜利特尔<a href=https://www.elefans.com/category/jswz/34/1770096.html style=算法,计算方法报告.doc"/>

matlab杜利特尔算法,计算方法报告.doc

计算方法报告.doc

目 录

实验一 数值稳定性实验1

实验二 非线性方程求根的数值解法3

实验三 线性方程组的数值解法(一)5

实验四 线性方程组的数值解法(二)8

实验五 分段插值和拉格朗日插值实验11

实验名称: 实验一 数值稳定性实验实验内容:设

(1)从尽可能精确的近似值出发,利用递推式

计算的近似值。

(2)从较粗糙的估计值出发,利用递推式

计算的近似值。

(3)分析所得结果的可靠性以及出现这种现象的原因。实验过程:

初步计算,由已知递推式,可计算得的近似值。

如下:

s=log(6)-log(5);

n=0;

fprintf('I(%g)=%f\n',n,s);

for i=1:20

s=-5.*s+1./i;

n=i;

fprintf('I(%g)=%f\n',n,s);

end

执行结果:

由积分估值得

.

取,得,我们粗略取,再由已知递推式,可计算得的近似值。如下:

s=(1/126+1/106)./2;

n=20;

fprintf('I(%g)=%f\n',n,s);

for i=20:-1:1

s=-s./5+1./(5*i);

n=i-1;

fprintf('I(%g)=%f\n',n,s);

end

执行结果:

实验结果分析:

对照上面的计算结果,可以看出,方案(2)从较粗糙的估计值出发,就得到相当精确的值(误差不超过);而方案(1)得到的估计值与(2)差别很大。实际上,经(1)计算的,即计算的结果不可靠。

记,则,即比扩大了倍。当用方案(1)计算时,尽管初值相当精确,由于误差传播是逐步扩大的,因而计算的结果不可靠;反之,用方案(2)计算时,尽管较大,但是由于误差逐步缩小,故可以用近似。而,计算的就相当精确了。

实验内容: 求方程在区间上的近似值,要求误差不超过。

(1)利用二分法;

(2)取初值,利用简单迭代法;

(3)取初值,利用牛顿迭代法。实验过程:

二分法求解

Matlab代码如下:

function [f]=fac1(x)

f=exp(x)+10.*x-2;

输入程序:

%初始化数据;

a=0;b=1.5;t=Inf;k=0;

s1=fac1(a);s2=fac1(b);

if s1.*s2>0 %检查端点函数值是否同号;

disp('区间[a,b]内无零点或者无法确定\n');

else while abs(t-(a+b)/2.)>1e-6

t=(a+b)/2.;

if fac1(t)==0

break;

elseif fac1(t).*fac1(a)<0

b=t;

else a=t;

end

k=k+1;

fprintf('x(%g)=%f\n',k,t);

end

end

执行结果(截屏):

(2)简单迭代法求解

Matlab代码如下:

function [f]=fac2(x)

f=(2-exp(x))./10;

输入程序:

%初始化数据;

a=1.3;

k=0;

while abs(a-fac2(a))>1e-6

t=fac2(a);

a=t;t=a;

k=k+1;

fprintf('x(%g)=%f\n',k,t);

end

执行结果(截屏):

(3)Newton迭代法

如下:

function [f]=fac1(x)

f=exp(x)+10.*x-2;

function [f]=dfac1(x)

f=exp(x)+10;

输入程序:

%初始化数据;

a=1.3;

t=Inf;

k=0;

fprintf('x(%g)=%f\n',k,a);

while abs(fac1(a)/dfac1(a))>1e-6

t=a-fac1(a)/dfac1(a);

a=t;

k=k+1;

fprintf('x(%g)=%f\n',k,a);

end

执行结果(截屏):

实验结果分析:

分析以上结果,可以得到,方程的根在附近。其中,用Newton迭代法只迭代了3次,就达到误差不超过的近似零点值,收敛速度明显优于另外两种方法。

针对此问题的简单迭代法求根的方法收敛慢的情况,我们可以采用Aitken加速方法或Steffensen迭代法,对原方法加以改进,使其加速收敛,此处不予给出。

实验内容:求解线性方程组

并比较计算结果精度(方程组精确解为)

(1

更多推荐

matlab杜利特尔算法,计算方法报告.doc

本文发布于:2024-02-14 12:31:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1762985.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:算法   计算方法   报告   matlab   杜利

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!