版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 非线性方程的数值解法(一)信息与计算科学金融 崔振威 201002034031一、 实验目的:熟悉二分法和简单迭代法的算法实现。二、 实验内容:教材P40 三、 实验要求1 根据实验内容编写二分法和简单迭代法的算法实现2 简单比较分析两种算法的误差3 试构造不同的迭代格式,分析比较其收敛性(一)、二分法程序:function ef=bisect(fx,xa,xb,n,delta)% fx是由方程转化的关于x的函数,有fx=0。% xa 解区间上限% xb 解区间下限% n 最多循环步数,防止死循环。%delta 为允许误差x=xa;fa=eval(fx);x=xb;fb=eval(fx
2、);disp(' n xa xb xc fc ');for i=1:n xc=(xa+xb)/2;x=xc;fc=eval(fx); X=i,xa,xb,xc,fc; disp(X), if fc*fa<0 xb=xc; else xa=xc; end if (xb-xa)<delta,break,endend(二)、简单迭代法程序:function x0,k=iterate (f,x0,eps,N)if nargin<4N=500;endif nargin<3ep=1e-12;endx=x0;x0=x+2*eps;k=0;while abs(x-x0)
3、>eps & k<Nx0=x;x=feval(f,x0);k=k+1;endx0=x;if k=Nend解:a、g(x)=x5-3x3-2x2+2二分法求方程: (1)、 在matlab的命令窗口中输入命令: >> fplot('x5-3*x3-2*x2+2',-3,3);grid 得下图: 由上图可得知:方程在-3,3区间有根。(2)、二分法输出结果>> f='x5-3*x3-2*x2+2'f =x5-3*x3-2*x2+2>> bisect(f,-3,3,20,10(-12) 2.0000 -3.000
4、0 0 -1.5000 0.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
5、 -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.5015 0.0150 13.0000 -1.5029 -1.5015 -1.5022 0.0068 14.0000 -1.5029 -1.5022 -1.5026 0.0027 15.0000 -1.5029 -1.5026 -1.5027 0.0007 16.0000 -1.5029 -1.5027 -1.5028 -0.0003 17.0000 -1.5028 -1.5027 -1.5028
6、 0.0002 18.0000 -1.5028 -1.5028 -1.5028 -0.0001 19.0000 -1.5028 -1.5028 -1.5028 0.0001 20.0000 -1.5028 -1.5028 -1.5028 -0.00002、迭代法求方程:迭代法输出结果:>> f=inline('x5-3*x3-2*x2+2');>> x0,k=iterate(fun1,2)x0 = 2k = 1>> x0,k=iterate(fun1,1.5)x0 = NaNk = 6>> x0,k=iterate(fun1,2.
7、5)x0 = NaNk = 5(3)、误差分析:由二分法和迭代法输出结果可知,通过定点迭代法得出方程的解误差比二分法大,而利用二分法求出的结果中,可以清楚看出方程等于零时的解,其误差比迭代法小。b、g(x)=cos(sin(x)二分法求方程: (1)、 在matlab的命令窗口中输入命令: >> fplot('cos(sin(x)',-4,4);grid 得下图: 由上图可得知:方程在-4,4区间无根。(2)、二分法输出结果>>f='cos(sin(x)'f =cos(sin(x)>> bisect(f,-4,4,20,10(
8、-12) 2.0000 0 4.0000 2.0000 0.6143 3.0000 2.0000 4.0000 3.0000 0.9901 4.0000 3.0000 4.0000 3.5000 0.9391 5.0000 3.5000 4.0000 3.7500 0.8411 6.0000 3.7500 4.0000 3.8750 0.7842 7.0000 3.8750 4.0000 3.9375 0.7554 8.0000 3.9375 4.0000 3.9688 0.7412 9.0000 3.9688 4.0000 3.9844 0.7341 10.0000 3.9844 4.000
9、0 3.9922 0.7305 11.0000 3.9922 4.0000 3.9961 0.7288 12.0000 3.9961 4.0000 3.9980 0.7279 13.0000 3.9980 4.0000 3.9990 0.7275 14.0000 3.9990 4.0000 3.9995 0.7273 15.0000 3.9995 4.0000 3.9998 0.7271 16.0000 3.9998 4.0000 3.9999 0.7271 17.0000 3.9999 4.0000 3.9999 0.7271 18.0000 3.9999 4.0000 4.0000 0.7
10、270 19.0000 4.0000 4.0000 4.0000 0.7270 20.0000 4.0000 4.0000 4.0000 0.72702、迭代法求方程:迭代法输出结果:>> f=inline('cos(sin(x)');>> x0,k=iterate(f,0.5)x0 = 0.7682k = 15>> x0,k=iterate(f,1)x0 = 0.7682k = 15>> x0,k=iterate(f,1.5)x0 = 0.7682k = 16>> x0,k=iterate(f,2)x0 = 0.76
11、82k = 15>> x0,k=iterate(f,2.5)x0 = 0.7682k =14(3) 、由于该方程无解,所以无法比较误差。c、g(x)=x2-sin(x+0.15)二分法求方程: (1)、 在matlab的命令窗口中输入命令: >> fplot('x2-sin(x+0.15)',-10,10);grid 得下图: 由上图可得知:方程在-3,3区间有根。(2)、二分法输出结果>> f='x2-sin(x+0.15)'f =x2-sin(x+0.15)>> bisect(f,-3,3,30,10(-12)
12、 1.0000 -3.0000 3.0000 0 -0.1494 2.0000 -3.0000 0 -1.5000 3.2257 3.0000 -1.5000 0 -0.7500 1.1271 4.0000 -0.7500 0 -0.3750 0.3637 5.0000 -0.3750 0 -0.1875 0.0726 6.0000 -0.1875 0 -0.0938 -0.0474 7.0000 -0.1875 -0.0938 -0.1406 0.0104 8.0000 -0.1406 -0.0938 -0.1172 -0.0191 9.0000 -0.1406 -0.1172 -0.128
13、9 -0.0045 10.0000 -0.1406 -0.1289 -0.1348 0.0029 11.0000 -0.1348 -0.1289 -0.1318 -0.0008 12.0000 -0.1348 -0.1318 -0.1333 0.0011 13.0000 -0.1333 -0.1318 -0.1326 0.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.1325 0.0000 17.0000 -0.132
14、5 -0.1324 -0.1324 -0.0000 18.0000 -0.1325 -0.1324 -0.1325 -0.0000 19.0000 -0.1325 -0.1325 -0.1325 0.0000 20.0000 -0.1325 -0.1325 -0.1325 0.0000 21.0000 -0.1325 -0.1325 -0.1325 0.0000 22.0000 -0.1325 -0.1325 -0.1325 0.0000 23.0000 -0.1325 -0.1325 -0.1325 -0.0000 24.0000 -0.1325 -0.1325 -0.1325 0.0000
15、 25.0000 -0.1325 -0.1325 -0.1325 -0.0000 26.0000 -0.1325 -0.1325 -0.1325 0.0000 27.0000 -0.1325 -0.1325 -0.1325 0.0000 28.0000 -0.1325 -0.1325 -0.1325 0.0000 29.0000 -0.1325 -0.1325 -0.1325 0.0000 30.0000 -0.1325 -0.1325 -0.1325 -0.00002、迭代法求方程:迭代法输出结果:>> f=inline('x2-sin(x+0.15)');>
16、;> 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,0.3)x0 = 0.3234k = 500>> x0,k=iterate(f,0.001)x0 = 0.3234k = 500(3) 、误差分析:由二分法和迭代法输出结果可知,利用二分法求出的结果中,可以清楚看出方程等于零时的解,其误差比迭代法小。d、g(x)=xx-cos(
17、x)二分法求方程: (1)、 在matlab的命令窗口中输入命令: >> fplot('x(x-cos(x)',-1,1);grid 得下图: 由上图可得知:方程在-1,1区间有根。(2)、二分法输出结果>> f='x(x-cos(x)'f =x(x-cos(x)>> bisect(f,-0.1,0.1,20,10(-12) 1.0000 -0.1000 0.1000 0 Inf 2.0000 -0.1000 0 -0.0500 -22.8740 + 3.5309i 3.0000 -0.0500 0 -0.0250 -43.6
18、821 + 3.3947i 4.0000 -0.0250 0 -0.0125 -84.4110 + 3.2958i 1.0e+002 * 0.0500 -0.0001 0 -0.0001 -1.6511 + 0.0323i 1.0e+002 * 0.0600 -0.0001 0 -0.0000 -3.2580 + 0.0319i 1.0e+002 * 0.0700 -0.0000 0 -0.0000 -6.4648 + 0.0317i 1.0e+003 * 0.0080 -0.0000 0 -0.0000 -1.2872 + 0.0032i 1.0e+003 * 0.0090 -0.0000 0 -0.0000 -2.5679 + 0.0032i 1.0e+003 * 0.0100 -0.0000 0 -0.0000 -5.1285 + 0.0031i 1.0e+004 * 0.0011 -0.0000 0 -0.0000 -1.0249 + 0.0003i 1.0e+004 * 0.0012 -0.0000 0 -0.0000 -2.0490 + 0.0003i 1.0e+004 * 0.0013 -0.0000 0 -0.0000 -4.0971 + 0.0003i 1.0e+004 * 0.0014 -0.0000 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46828.2-2025塑料透明材料总透光率的测定第2部分:双光束仪器
- 2025 小学六年级语文下册 童年生活 趣事分享课件
- 跨境电商独立站域名备案合同2025年执行版
- 口罩生产供应协议2025年标准模板
- 2025 小学六年级语文上册批注式阅读指导课件
- 2025年AI语音助手开发运营协议
- 淮阴县医院面试题及答案
- 深度解析(2026)《GBT 39356-2020肥料中总镍、总钴、总硒、总钒、总锑、总铊含量的测定 电感耦合等离子体发射光谱法》
- 深度解析(2026)《GBT 34637-2017无损检测 气泡泄漏检测方法》
- 深度解析(2026)《GBT 34370.6-2017游乐设施无损检测 第6部分:射线检测》
- 2025年1月浙江省普通高中学业水平考试物理试卷(含答案)
- 2025年低压电工操作证理论全国考试题库(含答案)
- 剧组用车合同范本
- 2025北京市公共资源交易中心招聘8人(公共基础知识)测试题带答案解析
- 2024年法律职业资格《客观题卷一》试题及答案
- 钢铁厂劳务合同范本
- 2025年沈阳华晨专用车有限公司公开招聘笔试考试备考题库及答案解析
- 职业技能竞赛和技术比武活动方案
- 雨课堂学堂在线学堂云《临床伦理与科研道德(山东大学)》单元测试考核答案
- 《面对挫折我不怕》课件
- 租打碟机合同范本
评论
0/150
提交评论