最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

迭代法求解方程问题实验报告

IT圈 admin 21浏览 0评论

2024年4月26日发(作者:春骞魁)

迭代法求解方程问题实验报告

姓名:殷伯旭 班级:信计0801班 学号:u200810065

一. 实验目的

运用数学知识与matlab相结合,运用数学方法,建立数学模型,用matlab软

件辅助求解模型,解决实际问题。

二. 实验任务

求方程

e

x

10x20

的一个近似解,误差不超过

10

4

,要求:

设计4种求解的迭代法,讨论其收敛性,并求出满足精度的近似解;

三. 实验分析与求解

题目要求设计四种迭代方法,我们考虑用书上的四种迭代思想:

2e

x

 方法一:用Steffenson迭代法,首先构造函数:

g(x)

10

(g(x

k

)x

k

)

2

则迭代公式为:

x

k1

x

k

g(g(x

k

))2g(x

k

)x

k

2

e

 方法二:一般的迭代法,

x

k1

10

x

k

f(a)

(ba)

f(b)f(a)

 方法三:单点弦截法法,固定

x

0

0.25,

x

1

a

其中端点

a0,b

f(x

k

)

1

(xx)

则迭代公式为:

x

k1

x

k

2

f(x

k

)f(x

0

)

k

0

f(x

k

)

(x

k

x

k1

)

f(x

k

)f(x

k1

)

 方法四:双点弦截法法,迭代公式为:

x

k1

x

k

实验程序:

function shiyan112

%%%%%方法一: stefften迭代

x0=0.25;

g0=(2-exp(x0))/10;

gg0=(2-exp(g0))/10;

x1=x0-(g0-x0)^2/(gg0-2*g0+x0);

n1=0;

while abs(x1-x0)>0.00001

x0=x1;

g0=(2-exp(x0))/10;

gg0=(2-exp(g0))/10;

x1=x0-(g0-x0)^2/(gg0-2*g0+x0);

n1=n1+1;

x(n1)=x1;

end

n1

x0=x1

%%%%%方法二: 一般迭代

x20=0.25;

x21=(2-exp(x20))/10;

n2=0;

while abs(x21-x20)>0.00001

x20=x21;

x21=(2-exp(x20))/10;

n2=n2+1;

end

n2

x20=x21

%%%%%方法三: 单点弦截法

x30=0.25;

a=0;b=0.5;n3=0;

fa=exp(a)+10*a-2;

fb=exp(b)+10*b-2;

x31=a-fa*(b-a)/(fb-fa);

f30=exp(x30)+10*x30-2;

f31=exp(x31)+10*x31-2;

x32=x31-f31*(x31-x30)/(f31-f30);

while abs(x32-x31)>0.00001

x31=x32;

f31=exp(x31)+10*x31-2;

x32=x31-f31*(x31-x30)/(f31-f30);

n3=n3+1;

end

n3

x30=x32

%%%%%%%方法四:双点弦截法

x40=0.25;

x41=0.5;n4=0;

f40=exp(x40)+10*x40-2;

f41=exp(x41)+10*x41-2;

x42=x41-f41*(x41-x40)/(f41-f40);

while abs(x42-x41)>0.00001

x40=x41;

x41=x42;

f40=exp(x40)+10*x40-2;

f41=exp(x41)+10*x41-2;

x42=x41-f41*(x41-x40)/(f41-f40);

n4=n4+1;

end

n4

x40=x42

运行结果:

(1) 方法一: x =0.0905 ; 迭代次数: n1 = 2

(2)方法二: x =0.0905 ; 迭代次数: n2 = 5

(3) 方法三: x =0.0905 ; 迭代次数: n3 = 2

(4) 方法四: x =0.0905 ; 迭代次数: n4 =3

3) 实验总结

通过自主学习matlab,编程能力有了较大提高,并将其应用于数值代数刚学的

一种思想,在加深对该领域印象的同时对matlab有了更深一层的了解。

2024年4月26日发(作者:春骞魁)

迭代法求解方程问题实验报告

姓名:殷伯旭 班级:信计0801班 学号:u200810065

一. 实验目的

运用数学知识与matlab相结合,运用数学方法,建立数学模型,用matlab软

件辅助求解模型,解决实际问题。

二. 实验任务

求方程

e

x

10x20

的一个近似解,误差不超过

10

4

,要求:

设计4种求解的迭代法,讨论其收敛性,并求出满足精度的近似解;

三. 实验分析与求解

题目要求设计四种迭代方法,我们考虑用书上的四种迭代思想:

2e

x

 方法一:用Steffenson迭代法,首先构造函数:

g(x)

10

(g(x

k

)x

k

)

2

则迭代公式为:

x

k1

x

k

g(g(x

k

))2g(x

k

)x

k

2

e

 方法二:一般的迭代法,

x

k1

10

x

k

f(a)

(ba)

f(b)f(a)

 方法三:单点弦截法法,固定

x

0

0.25,

x

1

a

其中端点

a0,b

f(x

k

)

1

(xx)

则迭代公式为:

x

k1

x

k

2

f(x

k

)f(x

0

)

k

0

f(x

k

)

(x

k

x

k1

)

f(x

k

)f(x

k1

)

 方法四:双点弦截法法,迭代公式为:

x

k1

x

k

实验程序:

function shiyan112

%%%%%方法一: stefften迭代

x0=0.25;

g0=(2-exp(x0))/10;

gg0=(2-exp(g0))/10;

x1=x0-(g0-x0)^2/(gg0-2*g0+x0);

n1=0;

while abs(x1-x0)>0.00001

x0=x1;

g0=(2-exp(x0))/10;

gg0=(2-exp(g0))/10;

x1=x0-(g0-x0)^2/(gg0-2*g0+x0);

n1=n1+1;

x(n1)=x1;

end

n1

x0=x1

%%%%%方法二: 一般迭代

x20=0.25;

x21=(2-exp(x20))/10;

n2=0;

while abs(x21-x20)>0.00001

x20=x21;

x21=(2-exp(x20))/10;

n2=n2+1;

end

n2

x20=x21

%%%%%方法三: 单点弦截法

x30=0.25;

a=0;b=0.5;n3=0;

fa=exp(a)+10*a-2;

fb=exp(b)+10*b-2;

x31=a-fa*(b-a)/(fb-fa);

f30=exp(x30)+10*x30-2;

f31=exp(x31)+10*x31-2;

x32=x31-f31*(x31-x30)/(f31-f30);

while abs(x32-x31)>0.00001

x31=x32;

f31=exp(x31)+10*x31-2;

x32=x31-f31*(x31-x30)/(f31-f30);

n3=n3+1;

end

n3

x30=x32

%%%%%%%方法四:双点弦截法

x40=0.25;

x41=0.5;n4=0;

f40=exp(x40)+10*x40-2;

f41=exp(x41)+10*x41-2;

x42=x41-f41*(x41-x40)/(f41-f40);

while abs(x42-x41)>0.00001

x40=x41;

x41=x42;

f40=exp(x40)+10*x40-2;

f41=exp(x41)+10*x41-2;

x42=x41-f41*(x41-x40)/(f41-f40);

n4=n4+1;

end

n4

x40=x42

运行结果:

(1) 方法一: x =0.0905 ; 迭代次数: n1 = 2

(2)方法二: x =0.0905 ; 迭代次数: n2 = 5

(3) 方法三: x =0.0905 ; 迭代次数: n3 = 2

(4) 方法四: x =0.0905 ; 迭代次数: n4 =3

3) 实验总结

通过自主学习matlab,编程能力有了较大提高,并将其应用于数值代数刚学的

一种思想,在加深对该领域印象的同时对matlab有了更深一层的了解。

发布评论

评论列表 (0)

  1. 暂无评论