版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 非线性方程的数值解法(一)信息与计算科学金融 崔振威 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(fx);x=xb;fb=ev
2、al(fx);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(
3、x-x0)>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 -
4、3.0000 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
5、.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.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
6、.5028 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(fu
7、n1,2.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,2
8、0,10(-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
9、4.0000 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.000
10、0 0.7270 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 =
11、 0.7682k = 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 -
13、0.1289 -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 -
14、0.1325 -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
15、.0000 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
17、-cos(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
18、-43.6821 + 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吉林长春市东北师范大学马克思主义学部春季学期专任教师招聘10人备考题库及答案详解(夺冠)
- 2026重庆市永川区陈食街道办事处非全日制公益性岗位招聘8人农业笔试备考试题及答案解析
- 2026上海市复兴实验中学实习教师招聘农业笔试备考题库及答案解析
- 2026陕西西安市鹿原中学招聘备考题库附答案详解(综合题)
- 2026四川长虹电器股份有限公司招聘环保体系主管岗位1人备考题库含答案详解(培优)
- 企业年度质量目标达成方案
- 2026年春季福建华南女子职业学院人才招聘16人备考题库含答案详解(完整版)
- 2026云南大理州妇幼保健院招聘编外聘用人员6人备考题库(第二批)含答案详解(预热题)
- 2026四川南充市仪陇县疾病预防控制中心(仪陇县卫生监督所)遴选4人建设笔试参考题库及答案解析
- 兰州市2026事业单位联考-综合应用能力E医疗卫生模拟卷(含答案)
- 2026年工会知识竞赛押题宝典模考模拟试题【考点提分】附答案详解
- 中小学妇委会工作制度
- 2026抖音内衣-泳衣类目达人准入考试题库核心解析
- 广东省广州市黄埔区2024-2025学年八年级下学期期末语文试题及答案
- 幼儿园采购园服制度
- 2026四川甘孜州能源发展集团有限公司招聘29人考试参考试题及答案解析
- 高速维护应急预案(3篇)
- 求职者必看:如何准备记者岗位的面试
- 2026年OpenClaw“养龙虾”入门课件
评论
0/150
提交评论