二分法的matlab运用
- 格式:doc
- 大小:410.00 KB
- 文档页数:11
⾮线性⽅程求解基于MATLAB的⾮线性⽅程的五种解法探讨摘要:本⽂利⽤matlab软件对⾮线性⽅程解法中的⼆分法、简单迭代法、⽜顿法、割线法以及Steffensen法的数值分析⽅法的算法原理及实现⽅法进⾏了探讨。
对f x x x=+-()2ln2的零点问题,分别运⽤以上五种不同的⽅法进⾏数值实验,⽐较⼏种解法的优缺点并进⾏初步分析评价。
关键词:⼆分法、简单迭代法、⽜顿法、割线法、Steffensen法1、引⾔在很多实际问题中,经常需要求⾮线性⽅程f(x) =0的根。
⽅程f(x) =0的根叫做函数f(x)的零点。
由连续函数的特性知:若f(x)在闭区间[a,b ]上连续,且()()0f a f b<.则f(x) =0在开区间(a,b)内⾄少有⼀个实根。
这时称[a,b]为⽅程f(x) =0的根的存在区间。
本⽂主要对⾮线性⽅程的数值解法进⾏分析,并介绍了⾮线性⽅程数值解法的五种⽅法。
并设=+-.f x x x()2ln2f x在[1,2]上的图形,如图1:. 显然,函数在[1,2]之间有⼀个零点。
⾸先画出()2、计算机配置操作系统Windows 7 旗舰版内存2GB处理器AMD 4核 A6-3400M APU 1.4GHz图.13、⼆分法⼆分法的基本思想是将⽅程根的区间平分为两个⼩区间,把有根的⼩区间再平分为两个更⼩的区间,进⼀步考察根在哪个更⼩的区间内。
如此继续下去,直到求出满⾜精度要求的近似值。
设函数()f x 在区间[a,b ]上连续,且f(a)·f(b) <0,则[a,b ]是⽅程f(x) =0的根的存在区间,设其内有⼀实根,记为x*。
取区间[a,b ]的中点()2k a b x +=并计算1()f x ,则必有下列三种情况之⼀成⽴: (1) 1()f x =0,x1就是⽅程的根x*;(2)()f a .1()f x <0,⽅程的根x*位于区间[a, 1x ]之中,此时令111,a a b x ==; (3)1()f x .()f b <0,⽅程的根x*位于区间[1x ,b ]之中,此时令11a x =,1b b =。
最优捕鱼策略问题摘要本文以最优捕鱼策略为主题,在logistic模型基础上建立了可持续发展捕鱼策略模型,并借助计算机Matlab,运用二分法近似求得了模型最优解。
在此基础上提出了灵敏度函数S,并由此判断死亡率w和捕捞强度E的变化对产量变化的影响。
最后根据实际生产需求,分析死亡率w对最大产量Qm的影响。
对于问题1,我们首先考虑不存在捕捞情况下的模型,再加入捕捞强度分析,最后根据问题1的条件(每年开始捕捞时渔场中各种年龄组鱼群条数不变)建立方程组,得到可持续发展捕鱼策略模型,解得方程组后在w=0.8时绘图得到最大产量Qm=3.8871*10^11。
对于问题2,我们引用了灵敏度函数S(ω,Q),起意义为ω变化率与Q变化率的比值,例如S=0.1,即表示当死亡率变化1%的时候,产量Q变化0.1%。
发现在问题1取得最大产量的情况下,死亡率每增加1%,最大产量减少1.743%。
并给出了不同死亡率w和产量下S的函数。
对于问题3,方法与问题2相似,灵敏度函数S(E,Q)在问题1的情况下,捕捞强度系数E每增加1%,产量Q减少0.0010%。
并给出了不同捕捞强度E和产量Q下S的函数。
对于问题4,我们取不同的死亡率w,得到不同的最大产量Q,利用MATLAB用函数拟合的方法得到了相似度很高的4阶拟合函数Qm(w)仿照问题2求解了灵敏度函数S(E,Qm),发现了在问题1求得最大产量的时候,死亡率的波动对最大产量的影响是相对较大的。
现实生产中可表现为一段时间内大量鱼群的死亡对渔民的收获量会造成比较大的损失。
为此我们找到了影响较小的点,当把死亡率控制在0.957附近时,鱼群的突然大数目死亡短时间内对渔民造成的损失最小。
对此我们提出了一些策略。
关键词:可持续发展捕鱼策略模型,灵敏度分析,函数拟合,微分方程。
一、问题重述以鳀鱼为例,制定一种最优的捕鱼策略,要求实现可持续捕捞,并且在此前提下得到最高的年收获量,并进一步考虑自然死亡率和捕捞强度系数,提出相关建议。
如何在Matlab中进行迭代优化和迭代求解引言:Matlab是一种非常强大和流行的数值计算软件,广泛应用于工程、科学和数学等领域。
在问题求解过程中,迭代优化和迭代求解是常常使用的技术。
本文将介绍如何在Matlab中利用迭代方法进行优化和求解,以及相关的技巧和应用。
一、什么是迭代优化和迭代求解迭代优化指的是通过多次迭代,逐步接近优化问题的最优解。
常用的迭代优化方法包括梯度下降法、牛顿法、拟牛顿法等。
迭代求解则是通过多次迭代,逐步逼近方程或问题的解,常用的迭代求解方法有牛顿迭代法、弦截法、二分法等。
二、迭代优化的基本原理与方法1. 梯度下降法(Gradient Descent):梯度下降法是一种常用的迭代优化方法,用于寻找函数的极小值点。
其基本原理是通过计算函数对各个变量的偏导数,从当前点开始沿着负梯度的方向迭代更新,直至达到最小值。
在Matlab中,可以利用gradient函数计算梯度向量,并通过循环迭代实现梯度下降法。
2. 牛顿法(Newton's Method):牛顿法是一种迭代优化方法,用于求解非线性方程的根或函数的极值点。
其基本思想是利用函数的局部线性近似,通过求解线性方程组来得到函数的极值点。
在Matlab中,可以使用fminunc函数来实现牛顿法。
3. 拟牛顿法(Quasi-Newton Methods):拟牛顿法是一类迭代优化方法,主要用于求解无约束非线性优化问题。
其基本思想是通过构造逼近目标函数Hessian矩阵的Broyden-Fletcher-Goldfarb-Shanno(BFGS)公式或拟牛顿方法中的其他公式,来估计目标函数的梯度和Hessian矩阵。
在Matlab中,可以利用fminunc函数,并设置算法参数来实现拟牛顿法。
三、迭代求解的基本原理与方法1. 牛顿迭代法(Newton's Method):牛顿迭代法是一种常用的迭代求解方法,用于求解方程或问题的根。
利用Matlab软件辅助高等数学教学作者:李鸿萍朱剑峰来源:《科技创新导报》2011年第27期摘要:本文主要探讨如何利用Matlab软件辅助高等数学教学,用Matlab编写了关于求函数的极限、微分、积分、级数求和,及方程求根和曲线、曲面画图等问题的程序,并加以实现.关键词:Matlab软件高等数学教育计算机辅助教学.中图分类号:O171 文献标识码:A 文章编号:1674-098X(2011)09(c)-0157-021 引言高等数学作为各个高等学校理工科学生的必修课,其重要性已广受认可。
传统的教学模式是教师在课堂上讲,用粉笔在黑板上进行演算和推导,学生在底下听讲做笔记。
由于是教师主导,学生被动参与,加之高等数学的个别章节枯燥、抽象,致使许多学生学习积极性不高,主观能动性不强。
近年来,随着计算机的发展和多媒体辅助教学的引入,这一情况正得到改观。
Matlab是Mathworks公司1984年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,可方便地应用于数字计算、算法开发、数据采集、系统建模和仿真、数据分析和可视化、科学和工程绘图、应用软件开发等方面。
本文的目的是探索如何将Matlab与高等数学教育结合起来,调动学生的学习积极性能动性,同时减轻任课教师的负担,提高授课效率。
2 利用Matlab辅助教学案例2.1 计算函数极限、导数、不定积分、定积分例1 求极限(1),(2)解:(1)Matlab程序为:limit((1+2/x)^x,x,inf)运行结果为:ans=exp(2)(2)Matlab程序为:limit(x^sin(x),x,0,’right’)运行结果为:ans=1例2 求函数的导数.解:Matlab程序为:syms xf=exp(x)sin(x)+x^(1/2);df=diff(f,x)运行结果为:df=exp(x)*sin(x)+exp(x)cos(x)+1/2/x^(1/2) 例3 求不定积分解:Matlab程序为:syms xf=exp(x)cos(x);if=int(f,x)运行结果为:if=1/2exp(x)cos(x)+1/2*exp(x)*sin(x)例4 求定积分(1), (2)解:(1)Matlab程序为: syms xf=(3x^4+3x^2+1)/(x^2+1)int(f,-1,0)运行结果为:ans=1+1/4pi(2)Matlab程序为:syms xf=exp(-x)int(f,0,inf)运行结果为:ans=12.2 二分法求函数根的问题例5 用二分法求函数在内的根,误差不超过.解:,所以在时单调递增,在时单调递减。
利用Matlab构建数学模型及求解方法详解引言数学模型在现代科学研究和实际应用中起着重要的作用。
利用数学模型,我们可以准确地描述问题,分析问题,并提供解决问题的方法。
而Matlab作为一种强大的数学软件,能够帮助我们构建数学模型并求解问题。
本文将详细介绍利用Matlab构建数学模型的方法和求解模型的技巧。
一、数学模型的基本概念数学模型是对真实世界问题的简化和抽象,以数学语言和符号进行表达。
一个好的数学模型应当能够准确地描述问题的本质,并能够提供解决问题的方法。
构建数学模型的基本步骤如下:1. 确定问题的目标和限制条件:首先,我们需要明确问题的目标是什么,以及有哪些限制条件需要考虑。
这些目标和限制条件将在后续的模型构建中起到重要的作用。
2. 建立假设:在构建数学模型时,我们通常需要做一些合理的假设。
这些假设可以简化问题,使得模型更易于建立和求解。
3. 确定数学表达式:根据问题的具体情况,我们需要选择适当的数学表达式来描述问题。
这些数学表达式可以是代数方程、微分方程、最优化问题等。
4. 参数估计:数学模型中通常会涉及到一些未知参数,我们需要通过实验数据或者其他手段来估计这些参数的值。
参数的准确估计对于模型的求解和结果的可靠性至关重要。
二、利用Matlab构建数学模型的方法在利用Matlab构建数学模型时,我们通常可以使用以下方法:1. 利用符号计算工具箱:Matlab中提供了丰富的符号计算工具箱,可以帮助我们处理复杂的代数方程和符号表达式。
通过符号计算工具箱,我们可以方便地推导出数学模型的方程式。
2. 利用数值计算工具箱:Matlab中提供了强大的数值计算工具箱,可以帮助我们求解各种数学问题。
例如,求解微分方程的常用方法有欧拉法、龙格-库塔法等,都可以在Matlab中轻松实现。
3. 利用优化工具箱:在一些优化问题中,我们需要求解最优解。
Matlab的优化工具箱提供了多种求解最优化问题的算法,如线性规划、非线性规划等。
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。 word格式支持编辑,如有帮助欢迎下载支持。 数
值 方 法 实验班级: 2011级数师一班 学生姓名: 雷宗玲
学生学号: 4011 指导老师: 李梦 实验时间: 2014年5月30日 I II
中文摘要 ................................................................................................... II 1引言 .......................................................................................................... 1 2二分法的基本原理 ................................................................................. 1 2.1 概述 ..................................................................................................... 1 2.2 二分法的matlab基本程序 ........................................................................ 2 2.2.1 实验步骤 ................................................................................... 2
2.2.2 matlab的原程序 ........................................................................ 3
3二分法的运用 ......................................................................................... 4
3.1 在实际生活中的运用 ................................................................................. 4 3.2 在中学教学中的运用 ................................................................................. 4 3.2.1 利用“二分法”思想巧证不等式 ................................................... 4
3.2.2 利用“二分法”思想巧证一元二次方程根的分布 ........................... 5 3.2.3 利用“二分法”思想巧求最值 ..................................................... 6 3.3 在求解方程中的运用 ................................................................................. 6 总结 ............................................................................................................. 7 参考文献 .................................................................................................... 8 III IV
摘要:二分法无论在实际生活中,还是在科学上,都占有十分重要的地位。在实际生活中,通常用来检查电路、水管等等,这是二分法最简单、最本质的一个应用。在中学教学中,可以用二分法来巧证不等式、一元二次方程根的分布、求最值等等。在求解n次多项式方程的根时,我们也可以利用二分法讨论一般方程式 0xf的实数根。本文主要概述二分法的基本思想,并从以上几个方面,对二分法在实际生活或科学上的应用论述,以便在以后的学习过程中得以广泛的应用。
关键词:查电路;证不等式;根的分布;求最值;求解 0
1 引言 在实际问题中,我们经常会遇到求非线性方程(代数方程或超越方程)根的问题。对n次多项式方程,由代数学基本定理知它有n个根(含复数根,重根按重数计)。而方程f(x)是多项式或超越函数(又分为代数方程或超越方程)。对于不高于四次的代数方程已有求根公式,而高于四次的代数方程则无精确的求根公式,至于超越方程就更无法求其精确解了。因此,如何求得满足一定精度要求的方程的近似根,也就成为了我们迫切需要解决的问题。近年来,随着数学科学研究的不断进展,又更新了许多方程求解的方法。我们知道,对于单变量非线性方程f(x)=0,一般都可采用迭代法求根,由此产生了二分法。“二分法”是高中数学必修内容之一,是现代信息技术与函数、方程知识的有机整合,是求方程近似解的常用方法。利用“二分法”可以帮助我们轻松、快捷解决一些相关的问题。在此,我主要利用二分法讨论一般方程式 0fx的实数根。在有实根时,可能有一个或多个甚至无穷多个根。 2 二分法的基本原理
2.1 概述 二分法主要运用了连续函数的零点定理。 如果设xf为ba,上的连续函数,0)(xf的有根区间为ba,,0)(,0)(bfaf。(1)将区间ba,二分得中点2)(ba,将ba,分为两个相等区
间,计算)(xf在中点2ba的函数值)2(baf。若)2(baf=0,则2*bax就是方程0)(xf的根;否则,若0)2(baf,由于)(xf在左半区间2,baa内不变号,所以方程的有根区间变为。bba,2同理,若0)2(baf,则方程的有根区间变为2,baa,将新的有根区间记为11,ba。
将11,ba二分,重复上述过程,又得到新的有根区间22,ba,这样不断作下去,就得到一系列有根区间:ba,11,bakkba,,且
)(21b1abankk。记*x为0)(xf的根,当0)()(•kkbfaf时,有*x],[kkba,
即),3,2,1(*nbxann。由)(21b1abankk及夹逼定理得: 1
*limlimxbannnn
,当nnab时,取作nnbax21*为所求根近似值。
2.2 二分法的matlab基本程序 2.2.1 实验步骤 (1)判断函数是否为定义域内的连续函数,若它在定义域ba,内都是连续 函数,并且0,0bfaf,故)内有根在(baxf,; (2)编写二分法MATLAB程序代码:erfen.m; 其程序过程如下:
(3)建立函数文件:f.m; (4)在MATLAB命令窗口中输入函数,敲回车,输出结果。 2.2.2 matlab的原程序 function [c,err,yc]=erfen(f,a,b,delta) ya=feval(f,a); yb=feval(f,b); if ya*yb>0,return,end max1=1+round((log(b-a)-log(delta))/log(2)); for k=1:max1 c=(a+b)/2; yc=feval(f,c);
开始 输入f,a,b,
停止 yes no
no
yes
no停止 noyes
a=c b=b a=a b=c 2
if yc==0 a=c; b=c; elseif yb*yc>0 b=c; yb=yc; else a=c; ya=yc; end if b-aend c=(a+b)/2; err=abs(b-a); yc=feval(f,c);
3 二分法的运用 3.1 在实际生活中的运用
在我们的实际生活中,经常遇到电话线出故障,那么工人师傅该怎样在很短时间内查出故障所在呢?大家一般会想到沿着线路一小段一小段查找,这样困难很多,又很麻烦。每查一个点要爬一次电线杆子,10km长,大约有200多根电线杆子,因此就可使用二分法。设电线两端分别为A、B,他首先从中点C查,用随身带的话机向两端测试时,发现AC段正常,断定故障在BC段,再到BC中点D,发现BD正常,可见故障在CD段,再到CD中点E来看,这样每查一次,就可以把待查线路长度缩减为一半,故经过7次查找,就可以将故障发生的范围缩小到50—100m左右,即在一两根电线杆附近。这样就省了很多精力了。
3.2 在中学教学中的运用 3.2.1 利用“二分法”思想巧证不等式 例1. 已知三个正数a、b、c,满足bac2,求证abccaabcc22。 证明:从所要证的结果的结构上看,可把abcc2、abcc2看作一元二次方程abcxx22的两个根,同时构造一个区间(abcc2,abcc2)。