版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 守食安初心护师生安康担育人使命筑校园防线-校长在学校食堂安全工作会议上 的发言
- 血管性认知障碍查房带教|病情汇报 + 床旁查体全套指南
- 2026年城市地下管线普查与信息化建设方案
- 知识分享、案例警示:卸货作业安全 案例警示7起
- 2026年云南省玉溪市事业编单位人员招聘笔试备考试题及答案详解
- 2026年扬州市广陵区中小学编制教师招聘笔试参考题库及答案详解
- 2026年四川省成都市中小学编制教师招聘考试模拟试题及答案详解
- 【FFA 2026】多模态与向量计算 实时体育解说:阿里云和 NVIDIA 打造 Apache Flink 流式 AI 新范式
- 2026年广元市朝天区中小学编制教师招聘考试参考试题及答案详解
- 2026年四川省攀枝花市中小学编制教师招聘考试参考试题及答案详解
- 2026年山东省统考中考语文真题含答案
- 2026年事业单位考试时事政治试题及答案
- 2026年广东深圳市物理中考模拟卷(含答案)
- 2026年全国《安全生产月》知识培训试题及答案
- 东风汽车集团有限公司研发总院2027届“风帆”计划暑期实习生招聘备考题库附答案详解
- 五年级-水中浸物问题-题目+答案
- 西安交通大学2026年强基计划笔试模拟试题及答案解析
- 2026年校园安保测试题及答案
- AQ 3067-2026 《化工和危险化学品生产经营企业重大生产安全事故隐患判定准则》解读
- 配电运检员考试题及答案
- 马克思主义基本原理概论知到章节答案智慧树2023年西安交通大学
评论
0/150
提交评论