二分法简单迭代法的matlab代码实现Word格式.doc
- 文档编号:13144157
- 上传时间:2022-10-06
- 格式:DOC
- 页数:10
- 大小:87KB
二分法简单迭代法的matlab代码实现Word格式.doc
《二分法简单迭代法的matlab代码实现Word格式.doc》由会员分享,可在线阅读,更多相关《二分法简单迭代法的matlab代码实现Word格式.doc(10页珍藏版)》请在冰豆网上搜索。
%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.0000-3.00000-1.50000.0313
3.0000-3.0000-1.5000-2.2500-31.6182
4.0000-2.2500-1.5000-1.8750-8.4301
5.0000-1.8750-1.5000-1.6875-2.9632
6.0000-1.6875-1.5000-1.5938-1.2181
7.0000-1.5938-1.5000-1.5469-0.5382
8.0000-1.5469-1.5000-1.5234-0.2405
9.0000-1.5234-1.5000-1.5117-0.1015
10.0000-1.5117-1.5000-1.5059-0.0343
11.0000-1.5059-1.5000-1.5029-0.0014
12.0000-1.5029-1.5000-1.50150.0150
13.0000-1.5029-1.5015-1.50220.0068
14.0000-1.5029-1.5022-1.50260.0027
15.0000-1.5029-1.5026-1.50270.0007
16.0000-1.5029-1.5027-1.5028-0.0003
17.0000-1.5028-1.5027-1.50280.0002
18.0000-1.5028-1.5028-1.5028-0.0001
19.0000-1.5028-1.5028-1.50280.0001
20.0000-1.5028-1.5028-1.5028-0.0000
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))
2.000004.00002.00000.6143
3.00002.00004.00003.00000.9901
4.00003.00004.00003.50000.9391
5.00003.50004.00003.75000.8411
6.00003.75004.00003.87500.7842
7.00003.87504.00003.93750.7554
8.00003.93754.00003.96880.7412
9.00003.96884.00003.98440.7341
10.00003.98444.00003.99220.7305
11.00003.99224.00003.99610.7288
12.00003.99614.00003.99800.7279
13.00003.99804.00003.99900.7275
14.00003.99904.00003.99950.7273
15.00003.99954.00003.99980.7271
16.00003.99984.00003.99990.7271
17.00003.99994.00003.99990.7271
18.00003.99994.00004.00000.7270
19.00004.00004.00004.00000.7270
20.00004.00004.00004.00000.7270
[x0,k]=iterate(f,0.5)
0.7682
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))
1.0000-3.00003.00000-0.1494
2.0000-3.00000-1.50003.2257
3.0000-1.50000-0.75001.1271
4.0000-0.75000-0.37500.3637
5.0000-0.37500-0.18750.0726
6.0000-0.18750-0.0938-0.0474
7.0000-0.1875-0.0938-0.14060.0104
8.0000-0.1406-0.0938-0.1172-0.0191
9.0000-0.1406-0.1172-0.1289-0.0045
10.0000-0.1406-0.1289-0.13480.0029
11.0000-0.1348-0.1289-0.1318-0.0008
12.0000-0.1348-0.1318-0.13330.0011
13.0000-0.1333-0.1318-0.13260.0001
14.0000-0.1326-0.1318-0.1322-0.0003
15.0000-0.1326-0.1322-0.1324-0.0001
16.0000-0.1326-0.1324-0.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二分法 简单 迭代法 matlab 代码 实现 精品 文档