版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB语言课程论文MATLAB在二分法中的应用姓名:张扬学号:12009243762专业:电子信息工程班级:10级一班指导老师:汤全武学院:物理电气信息学院完成日期:2011.11.31 MATLAB在二分法中求方程的近似解的应用(张扬 12009243762 物理电气信息学院 10级电子1班)【摘要】计算一个函数f的零点(即求方程的根)是在科学计算中经常遇到的问题,二分法是解决此类问题的方法之一,MATLAB在处理用二分法求方程的近似解问题上非常方便,而且可以为学生创造出图文并茂、丰富多彩人机交互、即时反馈的学习环境,为学生更好的学习数学提供了一个有力的辅助工具.【关键词】二分法 精度
2、 近似值 迭代次数一、二分法二分法也称逐次分半法。它的基本思想是:先确定方程含根的区间(a,b),再把区间逐次二等分。(一)判别有根区间设函数在区间a,b上连续,且,那么根据零点定理知方程在开区间(a,b)内至少有一个实根,同时若在a,b上是单调的,那么方程在开区间(a,b)有唯一一个实根。这是使用二分法的前提。(二)用二分法求方程的根的近似值的步骤 步骤1 若对于a0, disp(注意:ya*yb0,请重新调整区间端点a和b.),return end max1=-1+ceil(log(b-a)-log(abtol)/log(2); %ceil是向正无穷大方向取整 for k=1:max1+1
3、 a;ya=fun(a);b;yb=fun(b);x=(a+b)/2; yx=fun(x);wuca=abs(b-a)/2;k=k-1; k,a,b,x,wuca,ya,yb,yx if yx=0 a=x;b=x; elseif yb*yx0 b=x;yb=yx; else a=x;ya=yx; end if b-aabtol,return,end end k=max1;x;wuca;yx=fun(x); (二)使用二分法的主程序求解方程在开区间(a,b)内的一个近似根的值的步骤 步骤1 建立名为 fun.m的M文件如下 function y1=fun(x) y1=(x);步骤2 将二分法的主
4、程序保存名为 erfen.m的M文件; 步骤3 在MATLAB工作窗口输入程序 k,x,wuca,yx=erfen(a,b,abtol)三例题【例一】确定方程的实根的分布情况,并用二分法求在开区间(-2,-1)内的实根的近似值,要求精度为0.001. 解:(1)先用两种方法确定方程的实根的分布情况。 方法1 作图法 在MATLAB工作窗口输入程序: x=-4:0.1:4;y=x.3-x+4;plot(x,y)grid,gtext(y=x.3-x+4)画出函数的图像,如图1所示。从图像可以看出,此曲线有两个图1 函数的图像驻点 都在x轴的下方,在(-2,-1)内曲线与x轴只有一个交点,则该方程有
5、唯一一个实根,且在(-2,-1)内。方法2 试算法在MATLAB工作窗口输入程序 x=-4:1:4,y=x.3-x+4运行后输出结果: x =-4 -3 -2 -1 0 1 2 3 4 y = -56 -20 -2 4 4 4 10 28 64由于连续函数满足,所以此方程在(-2,-1)内有一个实根。(2)求方程在(-2,-1)内的一个实根。用二分法的主程序计算a.建立名为 fun.m的M文件function y1=fun(x) y1=x.3-x+4;b.将二分法的主程序保存名为 erfen.m的M文件c.在MATLAB工作窗口输入程序 k,x,wuca,yx=erfen(-2,-1,0.00
6、1)d.运行后结果为ans =Columns 1 through 7 0 -2.0000 -1.0000 -1.5000 0.5000 -2.0000 4.0000Column 8 2.1250ans =Columns 1 through 7 1.0000 -2.0000 -1.5000 -1.7500 0.2500 -2.0000 2.1250 Column 8 0.3906ans = Columns 1 through 7 2.0000 -2.0000 -1.7500 -1.8750 0.1250 -2.0000 0.3906Column 8 -0.7168ans =Columns 1 t
7、hrough 7 3.0000 -1.8750 -1.7500 -1.8125 0.0625 -0.7168 0.3906Column 8 -0.1418ans =Columns 1 through 7 4.0000 -1.8125 -1.7500 -1.7813 0.0313 -0.1418 0.3906Column 8 0.1296ans =Columns 1 through 7 5.0000 -1.8125 -1.7813 -1.7969 0.0156 -0.1418 0.1296Column 8 -0.0048ans = Columns 1 through 7 6.0000 -1.79
8、69 -1.7813 -1.7891 0.0078 -0.0048 0.1296Column 8 0.0627ans =Columns 1 through 7 7.0000 -1.7969 -1.7891 -1.7930 0.0039 -0.0048 0.0627Column 8 0.0290ans =Columns 1 through 7 8.0000 -1.7969 -1.7930 -1.7949 0.0020 -0.0048 0.0290Column 8 0.0121ans =Columns 1 through 7 9.0000 -1.7969 -1.7949 -1.7959 0.001
9、0 -0.0048 0.0121Column 8 0.0037k =9x =-1.7959wuca =9.7656e-004yx =0.0037【例二】已知函数。用二分法迭代8次,寻找在闭区间1.5,2.5上的值满足(函数用弧度计算),且求其绝对误差和相对误差。 解:(1)在MATLAB工作窗口输入程序 x=1.5:0.001:2.5; f=x.*sin(2.*x)+1.5; plot(x,f),grid,gtext(f=x.*sin(2.*x)+1.5) 运行后,画出图2,可见函数在1.5,2.5上有惟一一个零点。 图2 函数的图像(2)在MATLAB工作区输入程序k=8; a=1.5; b
10、=2.5; abtol=(b-a)/(2(k+1) 运行后得绝对误差为abtol = 0.0020 (3)建立名为 fun.m的M文件 function y1=fun(x) y1=x.*sin(2.*x)+1.5;(4)在MATLAB工作窗口输入程序 k,x,wuca,yx=erfen(1.5,2.5,0.0020)运行后得ans =Columns 1 through 7 0 1.5000 2.5000 2.0000 0.5000 1.7117 -0.8973Column 8 -0.0136ans =Columns 1 through 71.0000 1.5000 2.0000 1.7500
11、0.2500 1.7117 -0.0136Column 8 0.8861ans =Columns 1 through 7 2.0000 1.7500 2.0000 1.8750 0.1250 0.8861 -0.0136Column 8 0.4283ans = Columns 1 through 7 3.0000 1.8750 2.0000 1.9375 0.0625 0.4283 -0.0136 Column 8 0.2030ans =Columns 1 through 7 4.0000 1.9375 2.0000 1.9688 0.0313 0.2030 -0.0136 Column 8
12、0.0933ans = Columns 1 through 7 5.0000 1.9688 2.0000 1.9844 0.0156 0.0933 -0.0136Column 8 0.0395ans =Columns 1 through 7 6.0000 1.9844 2.0000 1.9922 0.0078 0.0395 -0.0136 Column 8 0.0128ans =Columns 1 through 7 7.0000 1.9922 2.0000 1.9961 0.0039 0.0128 -0.0136Column 8 -0.0004ans =Columns 1 through 7
13、 8.0000 1.9922 1.9961 1.9941 0.0020 0.0128 -0.0004Column 8 0.0062k = 8x =1.9941wuca = 0.0020yx =0.0062(5)根据相对误差公式 (3)编写MATLAB程序 abtol=0.0020;xk=1.994140625;tol=abtol/abs(xk)运行后得tol = 0.0010四结论 MATLAB在处理用二分法求解函数的近似根时,方法简便,可靠,程序设计容易,并且具有很强的图形功能,只需给出一些基本参数就能得到所需图形,非常方便,图文并貌,为学生学习数学提供了有力的辅助工具。通过完成本次的论文,使我对MATLAB这门课程有了进一步的认识和了解,它无论在数学还是在物理学当中应用都很广泛,而且非常方便,在写论文的过程中,虽然遇到了很多问题,不过经过自己的努力最终都一一解决了。 同时我也认识到细心和认真的重要性,而且一定要有耐心,总之,这次的论文使我学到了很多。五、心得体会经过一学期紧张而有序的课程学习,在忙碌之余也颇有收获,我明白了MATLAB语言的优点:简洁,方便,易懂等等。同时也通过本次的课
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年山西省晋中市寿阳县八年级下册期中考试数学试题 含答案
- 2026年贵州省仁怀市高二生物下册期末考试测试卷【黄金题型】附答案
- 2026年河北省定州市高二生物下册期末考试检测卷含完整答案(历年真题)
- 2026年吉林省双辽市高二生物下册期末考试检测卷含答案【基础题】
- 2025年吉林省临江市高二生物下册期末考试模拟卷【典型题】附答案
- 2025年辽宁省凌海市高二生物下册期末考试试卷及参考答案(培优B卷)
- 2025年河南省荥阳市高二生物下册期末考试检测卷(名师系列)附答案
- 2026年湖北省仙桃市高二生物下册期末考试模拟卷附参考答案【综合卷】
- 2025年湖北省丹江口市高二生物下册期末考试模拟卷(典型题)附答案
- 2026年海南省文昌市高二生物下册期末考试模拟卷及完整答案(名校卷)
- 2026联勤保障部队第926医院社会用工招聘58人备考题库含答案详解
- 2026年高考英语全国卷II试题+答案详情分析
- 2026年辅导员笔试案例分析
- 2026年北京版(新教材)小学数学一年级下册期末学情自测卷及答案
- 2026四川成都香城公园城市建设集团有限公司招聘一线岗位员工12人笔试参考题库及答案详解
- 2023年上海市中考语文真题试卷及答案(解析版)
- 2026中国矿产资源市场格局及发展趋势预测报告
- 青海德坤电力集团有限公司2026年招聘笔试题库
- 2026年国企大五人格测试题及答案
- 2026年二季度专题党课讲稿
- 完善城市更新工程项目建设实施管理机制可复制经验做法清单
评论
0/150
提交评论