二分法简单迭代法的matlab代码实现Word格式.docx

上传人:b****7 文档编号:22540517 上传时间:2023-02-04 格式:DOCX 页数:11 大小:60.88KB
下载 相关 举报
二分法简单迭代法的matlab代码实现Word格式.docx_第1页
第1页 / 共11页
二分法简单迭代法的matlab代码实现Word格式.docx_第2页
第2页 / 共11页
二分法简单迭代法的matlab代码实现Word格式.docx_第3页
第3页 / 共11页
二分法简单迭代法的matlab代码实现Word格式.docx_第4页
第4页 / 共11页
二分法简单迭代法的matlab代码实现Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

二分法简单迭代法的matlab代码实现Word格式.docx

《二分法简单迭代法的matlab代码实现Word格式.docx》由会员分享,可在线阅读,更多相关《二分法简单迭代法的matlab代码实现Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

二分法简单迭代法的matlab代码实现Word格式.docx

%xa解区间上限

%xb解区间下限

%n最多循环步数,防止死循环。

%delta为允许误差

x=xa;

fa=eval(fx);

x=xb;

fb=eval(fx);

disp('

[nxaxbxcfc]'

);

fori=1:

n

xc=(xa+xb)/2;

x=xc;

fc=eval(fx);

X=[i,xa,xb,xc,fc];

disp(X),

iffc*fa<

xb=xc;

elsexa=xc;

end

if(xb-xa)<

delta,break,end

end

〔二〕、简单迭代法程序:

function[x0,k]=iterate(f,x0,eps,N)

ifnargin<

4

N=500;

3

ep=1e-12;

x=x0;

x0=x+2*eps;

k=0;

whileabs(x-x0)>

eps&

k<

N

x0=x;

x=feval(f,x0);

k=k+1;

ifk==N

解:

a、g(x)=x5-3x3-2x2+2

二分法求方程:

〔1〕、在matlab的命令窗口中输入命令:

>

>

fplot('

[x^5-3*x^3-2*x^2+2]'

[-3,3]);

grid

得如下图:

由上图可得知:

方程在[-3,3]区间有根。

〔2〕、二分法输出结果

f='

x^5-3*x^3-2*x^2+2'

f=

x^5-3*x^3-2*x^2+2

bisect(f,-3,3,20,10^(-12))

2、迭代法求方程:

迭代法输出结果:

f=inline('

[x0,k]=iterate(fun1,2)

x0=

2

k=

1

[x0,k]=iterate(fun1,1.5)

NaN

6

[x0,k]=iterate(fun1,2.5)

5

〔3〕、误差分析:

由二分法和迭代法输出结果可知,通过定点迭代法得出方程的解误差比二分法大,而利用二分法求出的结果中,可以清楚看出方程等于零时的解,其误差比迭代法小。

b、g(x)=cos(sin(x))

[cos(sin(x))]'

[-4,4]);

方程在[-4,4]区间无根。

f='

cos(sin(x))'

cos(sin(x))

bisect(f,-4,4,20,10^(-12))

[x0,k]=iterate(f,0.5)

15

[x0,k]=iterate(f,1)

[x0,k]=iterate(f,1.5)

16

[x0,k]=iterate(f,2)

[x0,k]=iterate(f,2.5)

14

(3)、由于该方程无解,所以无法比拟误差。

c、g(x)=x2-sin(x+0.15)

[x^2-sin(x+0.15)]'

[-10,10]);

x^2-sin(x+0.15)'

x^2-sin(x+0.15)

bisect(f,-3,3,30,10^(-12))

[x0,k]=iterate(f,1.96)

12

[x0,k]=iterate(f,0,2)

[x0,k]=iterate(f,0.2)

500

[x0,k]=iterate(f,0.3)

[x0,k]=iterate(f,0.001)

(3)、误差分析:

由二分法和迭代法输出结果可知,利用二分法求出的结果中,可以清楚看出方程等于零时的解,其误差比迭代法小。

d、g(x)=xx-cos(x)

[x^(x-cos(x))]'

[-1,1]);

方程在[-1,1]区间有根。

x^(x-cos(x))'

x^(x-cos(x))

bisect(f,-0.1,0.1,20,10^(-12))

1.0000-0.10000.10000Inf

1.0e+002*

1.0e+003*

1.0e+004*

1.0e+005*

1.0e+006*

[x0,k]=iterate(f,0.01)

[x0,k]=iterate(f,0.81)

[x0,k]=iterate(f,0.61)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1