ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:196.77KB ,
资源ID:6050940      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6050940.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二分法简单迭代法的matlab代码实现.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、二分法简单迭代法的matlab代码实现实验一非线性方程的数值解法(一)信息与计算科学金融 崔振威201002034031一、 实验目的:熟悉二分法和简单迭代法的算法实现。二、 实验内容:教材 P40 2.1.5三、 实验要求1根据实验内容编写二分法和简单迭代法的算法实现2简单比较分析两种算法的误差3试构造不同的迭代格式,分析比较其收敛性(一)、二分法程序:function ef=bisect(fx,xa,xb ,n, delta)% fx是由方程转化的关于 x的函数,有fx=0。% xa解区间上限% xb解区间下限% n最多循环步数,防止死循环。%delta为允许误差x=xa;fa=eval(

2、fx);x=xb;fb=eval(fx);disp( n xa xb xc fc );for i=1: nxc=(xa+xb)/2;x=xc;fc=eval(fx);X=i,xa,xb,xc,fc;disp(X),if fc*fa0xb=xc;else xa=xc;endif (xb-xa)delta,break,e ndend(二)、简单迭代法程序:fun ctio n x0,k=iterate (f,x0,eps,N)if nargin4N=500;endif nargineps & k fplot(xA5-3*xA3-2*xA2+2,-3,3);grid得下图:由上图可得知:方程在-3,

3、3区间有根。(2 )、二分法输出结果 f=xA5-3*xA3-2*xA2+2 f =xA5-3*xA3-2*xA2+2 bisect(f,-3,3,20,10A(-12)2.0000 -3.00003.0000-3.0000-1.5000-2.2500-31.61824.0000-2.2500-1.5000-1.8750-8.43015.0000-1.8750-1.5000-1.6875-2.96326.0000-1.6875-1.5000-1.5938-1.21817.0000-1.5938-1.5000-1.5469-0.53828.0000-1.5469-1.5000-1.5234-0.

4、24059.0000-1.5234-1.5000-1.5117-0.101510.0000-1.5117-1.5000-1.5059-0.034311.0000-1.5059-1.5000-1.5029-0.001412.0000-1.5029-1.5000-1.50150.015013.0000-1.5029-1.5015-1.50220.006814.0000-1.5029-1.5022-1.50260.002715.0000-1.5029-1.5026-1.50270.000716.0000-1.5029-1.5027-1.5028-0.000317.0000-1.5028-1.5027

5、-1.50280.000218.0000-1.5028-1.5028-1.5028-0.000119.0000-1.5028-1.5028-1.50280.000120.0000-1.5028-1.5028-1.5028-0.00002、迭代法求方程:迭代法输出结果: f=inlin e(xA5-3*xA3-2*xA2+2); xO,k=iterate(fu n1,2) x0 =2k =1 xO,k=iterate(fu n1,1.5) x0 =NaNk =6 xO,k=iterate(fu n1,2.5) x0 =NaN k =5(3)、误差分析:由二分法和迭代法输出结果可知, 通过定点迭代

6、法得出方程的解误差比二分法大,而利用二分法求出的结果中, 可以清楚看出方程等于零时的解, 其误差比迭代法小。b、g(x)=cos(sin(x)二分法求方程:(1)、 在matlab的命令窗口中输入命令: fplot(cos(si n(x),-4,4);grid得下图:由上图可得知:方程在-4,4区间无根。(2 )、二分法输出结果f=cos(si n( x)f =cos(s in( x) bisect(f,-4,4,20,10A(-12)2.000004.00002.00000.61433.00002.00004.00003.00000.99014.00003.00004.00003.50000

7、.93915.00003.50004.00003.75000.84116.00003.75004.00003.87500.78427.00003.87504.00003.93750.75548.00003.93754.00003.96880.74129.00003.96884.00003.98440.734110.00003.98444.00003.99220.730511.00003.99224.00003.99610.728812.00003.99614.00003.99800.727913.00003.99804.00003.99900.727514.00003.99904.00003.

8、99950.727315.00003.99954.00003.99980.727116.00003.99984.00003.99990.727117.00003.99994.00003.99990.727118.00003.99994.00004.00000.727019.00004.00004.00004.00000.727020.00004.00004.00004.00000.72702、迭代法求方程: 迭代法输出结果: f=in li ne(cos(s in( x); x0,k=iterate(f,0.5)x0 =0.7682k =15 xO,k=iterate(f,1)x0 =0.76

9、82k =15 x0,k=iterate(f,1.5)x0 =0.7682k =16 x0,k=iterate(f,2)x0 =0.7682k =15 x0,k=iterate(f,2.5)x0 =0.7682k =14(3)、由于该方程无解,所以无法比较误差。2c、g(x)=x -sin(x+0.15)二分法求方程:(1)、 在matlab的命令窗口中输入命令: fplotCQ-si n(x+0.15),-10,10);grid 得下图:-10 -B *6 4 -2 0 2 4 6 8 10由上图可得知:方程在-3,3区间有根。(2 )、二分法输出结果 f=xA2-s in( x+0.15)

10、f =xA2-s in( x+0.15) bisect(f,-3,3,30,10A(-12)1.0000-3.00003.00000-0.14942.0000-3.00000-1.50003.22573.0000-1.50000-0.75001.12714.0000-0.75000-0.37500.36375.0000-0.37500-0.18750.07266.0000-0.18750-0.0938-0.04747.0000-0.1875-0.0938-0.14060.01048.0000-0.1406-0.0938-0.1172-0.01919.0000-0.1406-0.1172-0.1

11、289-0.004510.0000-0.1406-0.1289-0.13480.002911.0000-0.1348-0.1289-0.1318-0.000812.0000-0.1348-0.1318-0.13330.001113.0000-0.1333-0.1318-0.13260.000114.0000-0.1326-0.1318-0.1322-0.000315.0000-0.1326-0.1322-0.1324-0.000116.0000-0.1326-0.1324-0.13250.000017.0000-0.1325-0.1324-0.1324-0.000018.0000-0.1325

12、-0.1324-0.1325-0.000019.0000-0.1325-0.1325-0.13250.000020.0000-0.1325-0.1325-0.13250.000021.0000-0.1325-0.1325-0.13250.000022.0000-0.1325-0.1325-0.13250.000023.0000-0.1325-0.1325-0.1325-0.000024.0000-0.1325-0.1325-0.13250.000025.0000-0.1325-0.1325-0.1325-0.000026.0000-0.1325-0.1325-0.13250.000027.00

13、00-0.1325-0.1325-0.13250.000028.0000-0.1325-0.1325-0.13250.000029.0000-0.1325-0.1325-0.13250.000030.0000-0.1325-0.1325-0.1325-0.00002、迭代法求方程:迭代法输出结果: f=i nlin e(xA2-si n(x+0.15); x0,k=iterate(f,1.96)x0 =NaNk =12 x0,k=iterate(f,0,2) x0 =-0.1494k =1 x0,k=iterate(f,0.2) x0 =0.3234k =500 x0,k=iterate(f,

14、0.3) x0 =0.3234k = xO,k=iterate(f,O.OO1) x0 =0.3234 k =500(3)、误差分析:由二分法和迭代法输出结果可知,利用二分法求出的结果中,可以清楚看出方程等于零时的解,其误差比迭代法小。x-cos(x)d、g(x)=x二分法求方程:(1)、 在matlab的命令窗口中输入命令: fplot(xA(x-cos(x),-1,1);grid得下图:121086420-2 -1 OB -0.6 14 -0.2 0 0.2 04 0.6 1由上图可得知:方程在-1,1区间有根。(2 )、二分法输出结果 f=x 人(x-cos(x)xA(x-cos(x)

15、bisect(f,-0.1,0.1,20,10A(-12)0 Inf1.0000 -0.1000 0.10002.0000-22.8740 + 3.5309i3.0000-43.6821 + 3.3947i4.0000-84.4110 + 3.2958i1.0e+002 *0.0500-1.6511 + 0.0323i1.0e+002 *0.0600-3.2580 + 0.0319i1.0e+002 *0.0700-6.4648 + 0.0317i1.0e+003 *0.0080-1.2872 + 0.0032i1.0e+003 *0.0090-2.5679 + 0.0032i1.0e+003

16、 *0.0100-5.1285 + 0.0031i1.0e+004 *0.0011-1.0249 + 0.0003i1.0e+004 *0.0012-2.0490 + 0.0003i1.0e+004 *0.0013-4.0971 + 0.0003i1.0e+004 *0.0014-8.1931 + 0.0003i1.0e+005 *0.0001-1.6385 + 0.0000i1.0e+005 *0.0002-3.2769 + 0.0000i-0.1000-0.0500-0.0250-0.0001-0.0001-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000

17、-0.0000-0.0000-0.0000-0.0000-0.0500-0.0250-0.0125-0.0001-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.0000-0.00001.0e+005 *0-0.00000.0002-0.0000-6.5537 + 0.0000i1.0e+006 *0.0000-0.00000-0.0000-1.3107 + 0.0000i1.0e+006 *0.0000-0.00000-0.0000-2.6215 + 0.0000i1.0e+006 *0.0000-0.00000-0.0000-5.2429 + O.OOOOi2、迭代法求方程:迭代法输出结果: f=i nlin e(xA2-si n(x+0.15);x0 =0.3234k =500 x0,k=iterate(f,0.01)x0 =0.3234k =500 x0,k=iterate(f,0.81)x0 =0.3234k =500 x0,k=iterate(f,0.61)x0 =0.3234k =500(3)、误差分析:由二分法和迭代法输出结果可知, 利用二分法求出的结果中, 可以清楚看出方程等于零时的解,其误差比迭代法小。

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

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