第六讲求非线性方程和方程组的近似解课件_第1页
第六讲求非线性方程和方程组的近似解课件_第2页
第六讲求非线性方程和方程组的近似解课件_第3页
第六讲求非线性方程和方程组的近似解课件_第4页
第六讲求非线性方程和方程组的近似解课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六讲非线性方程和方程组的近似解补充:部分优化问题的求解第六讲非线性方程和方程组的近似解补充:部分优化问题的求解一、实例与数学模型路灯照明问题问题描述在一条20m宽的道路两侧,安装了两只2kW的路灯,它们离地面的高度分别为5m。在漆黑的夜晚,当两只路灯开启时,两只路灯连线的路面上最暗的点和最亮的点在哪里?如果路灯的高度可以在3m和9m之间变化,如何使路面上最暗点的亮度最大?一、实例与数学模型路灯照明问题问题描述在一条20m宽的道路两数学模型建立如图所示的坐标系,即路面的宽度为s,每只路灯的功率分别是P,高度是h。设两只路灯连线的路面上某点Q的坐标为(x,0),其中,假设两个光源都可以看成点光源,并记两个光源到点Q的距离分别为r1和r2,从光源到点Q的光线与水平面的夹角分别为和,两个光源在点Q的照度分别为I1和I2,则yPPr2hhr1Q?10?2s(x,0)x数学模型建立如图所示的坐标系,即路面的宽度为s,每只路灯的功Psin?1Psin?2I1?k,I2?k22r1r2其中k是量纲单位决定的比例系数,不妨记为k=1,且r?h?x,r?h?(s?x)21222222hhhhsin?1??,sin?2??r1r2h2?x2h2?(s?x)2得到点Q的照度为C(x)?2Ph(h?x)322?2Ph[h?(s?x)]322Psin?1Psin?2I1?k,I2?k22r1r2其中k问题1,求路面上最暗点和最亮点的问题化为求C(x)的最小值点与最大值点先计算C(x)的驻点,C(x)的阶导函数为C'(x)??32Phx(h?x)522?3P2h(s?x)[h?(s?x)]2522另C'(x)?0Phx(h?x)22得52?2Ph(s?x)[h?(s?x)]522?0由数分的知识我们知道,只要能求出上述方程的根,我们就能求出照度函数的驻点,从而得到最小与最大值点。问题1,求路面上最暗点和最亮点的问题化为求C(x)的最小值点问题2:把照度函数看出是关于变量x和h的二元函数,即C(x,h)?2Ph(h?x)322?2Ph[h?(s?x)]322那么该问题就转化成求二元函数的极值问题,分别对两个变量求偏到可得以下方程组PhxPh(s?x)??C??055??x?222222?(h?x)[h?(s?x)]??22?CP3PhP3Ph??????03535??h222222222222(h?x)(h?x)[h?(s?x)][h?(s?x)]??问题2:把照度函数看出是关于变量x和h的二元函数,即C(二、非线性方程和方程组的Matlab求解1、图解法(1)一元方程的图解法用ezplot()函数可以绘制出给定的隐函数f(x)=0曲线,再绘出直线y=0,读出两条曲线的交点的横坐标即为方程的解。ezplot函数的调用格式,ezplot(fun)%隐函数表达式二、非线性方程和方程组的Matlab求解1、图解法(1)一元【例1】【例1】(2)二元方程组的图解法二元方程也可以用图解法求解,用ezplot()函数将第一个方程对应的曲线绘制出来,再在同一个坐标系下绘制出第二个方程对应的曲线,得出曲线后就可以通过读取交点坐标的方式得出联立方程的根。(2)二元方程组的图解法二元方程也可以用图解法求解,用ezp【例2】【例2】2、准解析解非线性方程中的多项式方程或者多项式方程组,根据代数中的根与系数的关系,对于次数低的我们可以求出它的解析解,对于次数高的我们可以得到高精度的数值也叫准解析解。在matlab符号工具箱中,solve()函数就是求解这一类问题,以下为该函数的调用格式2、准解析解非线性方程中的多项式方程或者多项式方程组,根据代第六讲求非线性方程和方程组的近似解课件【例3】【例3】3、数值解法(1)fzero()函数fzero函数用于求单变量方程的根,所采用的算法主要是二分法、割线法等的混合方法。fzero至少要输入两个参数:函数和迭代初始值(或者有根区间),其最简单调用格式如下S=fzero(eqn,x0)其中,eqn是指方程左端的函数,如果函数复杂可以通过编写函数M文件输入,如果函数形式简单,直接用inline函数输入方程左端的函数。3、数值解法(1)fzero()函数fzero函数用于求单(2)fsolve()函数fsolve函数一般用于非线性方程组的求解(当然也可以用于方程的求解,但效果一般不如fzero函数),其调用格式如下(2)fsolve()函数fsolve函数一般用于非线性第六讲求非线性方程和方程组的近似解课件【例5】求解函数OPT=optimset;OPT.TolX=1e-10[x,Y,c,d]=fsolve(f,[-1;0],OPT)【例5】求解函数OPT=optimset;OPT.TolX=(3)roots()函数roots()函数专门用于求单变量代数方程求根,即当f(x)为一元多项式时的求解,其调用格式如下r=roots(p)%p为多项式的系数向量(按降幂排列),输出r为f(x)=0的全部根(包括复根)(3)roots()函数roots()函数专门用于求单变量三、实例的求解1、求路面上最暗点与最亮点Q的照度函数C(x)?2Ph(h?x)322?2Ph[h?(s?x)]322照度函数的导数C'(x)??32Phx(h?x)522?3P2h(s?x)[h?(s?x)]2522三、实例的求解1、求路面上最暗点与最亮点Q的照度函数C(x)解题思路将所给的实际数据,P=2,h=5,s=20代入上面两个式子,在[0,20]上用matlab画出这两个函数的图形,找出照度函数的驻点大约在那些数值附近,然后以这些值为初始值,用fzero()函数求出这些驻点的横坐标,然后再求出相应的函数值,比较这些函数值,函数值最小的对应的x即为最暗的点,函数最大的点的x即为最亮的点解题思路将所给的实际数据,P=2,h=5,s=20代入上面画图找合适的初始值点symssc1=2*5/(5^2+s^2)^(3/2)+3*5/(5^2+(20-s)^2)^(3/2);c2=2*5*s/(5^2+s^2)^(5/2)-2*5*(20-s)/(5^2+(20-s)^2)^(5/2);S=[0:0.5:20];C1=subs(c1,S);C2=subs(c2,S);subplot(1,2,1)plot(S,C1);gridonsubplot(1,2,2)plot(S,C2);gridon结论:x0=[0,10,20],即一阶导数方程的有三个根,且在这三个数附近画图找合适的初始值点symssc1=2*5/(5^2+sy=inline('2*5/(5^2+x^2)^(3/2)+2*5/(5^2+(20-x)^2)^(3/2)');dy=inline(‘2*5*x/(5^2+x^2)^(5/2)-2*5*(20-x)/(5^2+(20-x)^2)^(5/2)');x0=[0,10,20];fori=1:3X(i+1)=fzero(dy,x0(i));C(i+1)=y(X(i+1));endX(1)=0,X(i+2)=20;C(1)=y(X(1)),C(i+2)=y(X(i+2));[X;C]结果:y=inline('2*5/(5^2+x^2)^(3/2)+补充:最优化问题的求解要表述一个最优化问题(即建立数学模型),应明确三个基本要素:?决策变量(decisionvariables):它们是决策者(你)所控制的那些数量,它们取什么数值需要决策者来决策,最优化问题的求解就是找出决策变量的最优取值.?约束条件(constraints):它们是决策变量在现实世界中所受到的限制,或者说决策变量在这些限制范围之内取值才有实际意义.?目标函数(objectivefunction):它代表决策者希望对其进行优化的那个指标。目标函数是决策变量的函数.补充:最优化问题的求解要表述一个最优化问题(即建立数学模型)一、实例与数学模型?动物饲料配制问题的描述美国一家公司以专门饲养并出售一种实验用动物而闻名.该公司的研究表明,这种动物的生长对饲料中的三种营养成分特别敏感,即蛋白质、矿物质和维生素.同时发现这种动物每天至少需要70克蛋白质、3克矿物质和10毫克维生素.该公司能得到五种饲料,每一种饲料每磅所含的营养成分如表9.l,每种饲料每磅的成本如表9.2.公司希望找出满足动物营养需要而成本又最低的混合饲料配置.一、实例与数学模型?动物饲料配制问题的描述美国一家公司以专门表1每一种饲料每磅所含营养成分表2每种饲料每磅的成本表1每一种饲料每磅所含营养成分表2每种饲料每磅的成本模型的建立模型的建立上述过程写成一般的数学表达式mincx?0.02x1?0.07x2?0.04x3?0.03x4?0.05x5s.t.0.30x1?2.00x2?1.00x3?0.60x4?1.80x5?700.10x1?0.05x2?0.02x3?0.20x4?0.05x5?30.05x1?0.10x2?0.02x3?0.20x4?0.08x5?10xj?0(j?1,2,3,4,5)这就是一个线性规划问题,可以用线性规划算法(更现成的是用各种相关的软件)求解.T上述过程写成一般的数学表达式mincx?0.02x1?0.0二、最优化问题Matlab求解?(一)无约束最优化问题求解无约束最优化问题是最简单的一类最优化问题,其数学描述如下二、最优化问题Matlab求解?(一)无约束最优化问题求解无数值解法Matlab语言中提供了求解无约束优化的函数fminsearch(),其优化工具箱中还提供了函数fminunc(),这两者的调用格式完全一致,为数值解法Matlab语言中提供了求解无约束优化的函数fmin例1例1(二)有约束最优化问题的求解按照静态优化问题的结构是否线性分为线性规划和非线性规划.线性规划的特征是目标函数和约束条件中的函数都是决策变量的线性函数,并且约束是必不可少的(否则不存在有实际意义的解),(二)有约束最优化问题的求解按照静态优化问题的结构是否线性分1、线性规划问题求解线性规划问题数学描述为1、线性规划问题求解线性规划问题数学描述为matlab中优化工具箱的求解函数在MATLAB优化工具箱中,求解线性规划的函数为linprog()函数,该函数的调用格式如下注意:[1]若没有不等式:AX≤b存在,则令A=[],b=[].[2]若没有等式约束:Aeq·X=beq,则令Aeq=[],beq=[].[3]其中X0表示初始点matlab中优化工具箱的求解函数在MATLAB优化工具箱中【例2】【例2】2、非线性规划问题的求解非线性规划的一般数学描述为为求解方便,约束条件可以进一步细分,这原规划可写为2、非线性规划问题的求解非线性规划的一般数学描述为为求解方便该细分模型的求解命令如下该细分模型的求解命令如下【例3】【例3】第六讲求非线性方程和方程组的近似解课件三、实例求解现在我们用matlab求解实例的数学模型mincTx?0.02x1?0.07x2?0.04x3?0.03x4?0.05x5s.t.0.30x1?2.00x2?1.00x3?0.60x4?1.80x5?700.10x1?0.05x2?0.02x3?0.20x4?0.05x5?30.05x1?0.10x2?0.02x3?0.20x4?0.08x5?10xj?0(j?1,2,3,4,5)三、实例求解现在我们用matlab求解实例的数学模型minc解:编写M文件siliao.m如下C=[0.020.070.040.030.05]';A=-[0.302.001.000.601.80;0.100.050.020.200.05;0.050.100.020.200.08];B=-[70310]';Aeq=[],Beq=[];xm=[0;0;0;0;0],xM=[];x0=[0;1];[x,f]=linprog(C,A,B,Aeq,Beq,xm,xM,x0)解:编写M文件siliao.m如下C=[0.020.07运行结果x=0.00000.00000.000039.743625.6410f=2.4744问题的回答每天使用第四种饲料39.7436,第五中饲料25.6410,其他不用,这种情况下成本最省,此时每天的成本为2.4744美元。运行结果x=0.00000.00000.000039.74第六讲非线性方程和方程组的近似解补充:部分优化问题的求解第六讲非线性方程和方程组的近似解补充:部分优化问题的求解一、实例与数学模型路灯照明问题问题描述在一条20m宽的道路两侧,安装了两只2kW的路灯,它们离地面的高度分别为5m。在漆黑的夜晚,当两只路灯开启时,两只路灯连线的路面上最暗的点和最亮的点在哪里?如果路灯的高度可以在3m和9m之间变化,如何使路面上最暗点的亮度最大?一、实例与数学模型路灯照明问题问题描述在一条20m宽的道路两数学模型建立如图所示的坐标系,即路面的宽度为s,每只路灯的功率分别是P,高度是h。设两只路灯连线的路面上某点Q的坐标为(x,0),其中,假设两个光源都可以看成点光源,并记两个光源到点Q的距离分别为r1和r2,从光源到点Q的光线与水平面的夹角分别为和,两个光源在点Q的照度分别为I1和I2,则yPPr2hhr1Q?10?2s(x,0)x数学模型建立如图所示的坐标系,即路面的宽度为s,每只路灯的功Psin?1Psin?2I1?k,I2?k22r1r2其中k是量纲单位决定的比例系数,不妨记为k=1,且r?h?x,r?h?(s?x)21222222hhhhsin?1??,sin?2??r1r2h2?x2h2?(s?x)2得到点Q的照度为C(x)?2Ph(h?x)322?2Ph[h?(s?x)]322Psin?1Psin?2I1?k,I2?k22r1r2其中k问题1,求路面上最暗点和最亮点的问题化为求C(x)的最小值点与最大值点先计算C(x)的驻点,C(x)的阶导函数为C'(x)??32Phx(h?x)522?3P2h(s?x)[h?(s?x)]2522另C'(x)?0Phx(h?x)22得52?2Ph(s?x)[h?(s?x)]522?0由数分的知识我们知道,只要能求出上述方程的根,我们就能求出照度函数的驻点,从而得到最小与最大值点。问题1,求路面上最暗点和最亮点的问题化为求C(x)的最小值点问题2:把照度函数看出是关于变量x和h的二元函数,即C(x,h)?2Ph(h?x)322?2Ph[h?(s?x)]322那么该问题就转化成求二元函数的极值问题,分别对两个变量求偏到可得以下方程组PhxPh(s?x)??C??055??x?222222?(h?x)[h?(s?x)]??22?CP3PhP3Ph??????03535??h222222222222(h?x)(h?x)[h?(s?x)][h?(s?x)]??问题2:把照度函数看出是关于变量x和h的二元函数,即C(二、非线性方程和方程组的Matlab求解1、图解法(1)一元方程的图解法用ezplot()函数可以绘制出给定的隐函数f(x)=0曲线,再绘出直线y=0,读出两条曲线的交点的横坐标即为方程的解。ezplot函数的调用格式,ezplot(fun)%隐函数表达式二、非线性方程和方程组的Matlab求解1、图解法(1)一元【例1】【例1】(2)二元方程组的图解法二元方程也可以用图解法求解,用ezplot()函数将第一个方程对应的曲线绘制出来,再在同一个坐标系下绘制出第二个方程对应的曲线,得出曲线后就可以通过读取交点坐标的方式得出联立方程的根。(2)二元方程组的图解法二元方程也可以用图解法求解,用ezp【例2】【例2】2、准解析解非线性方程中的多项式方程或者多项式方程组,根据代数中的根与系数的关系,对于次数低的我们可以求出它的解析解,对于次数高的我们可以得到高精度的数值也叫准解析解。在matlab符号工具箱中,solve()函数就是求解这一类问题,以下为该函数的调用格式2、准解析解非线性方程中的多项式方程或者多项式方程组,根据代第六讲求非线性方程和方程组的近似解课件【例3】【例3】3、数值解法(1)fzero()函数fzero函数用于求单变量方程的根,所采用的算法主要是二分法、割线法等的混合方法。fzero至少要输入两个参数:函数和迭代初始值(或者有根区间),其最简单调用格式如下S=fzero(eqn,x0)其中,eqn是指方程左端的函数,如果函数复杂可以通过编写函数M文件输入,如果函数形式简单,直接用inline函数输入方程左端的函数。3、数值解法(1)fzero()函数fzero函数用于求单(2)fsolve()函数fsolve函数一般用于非线性方程组的求解(当然也可以用于方程的求解,但效果一般不如fzero函数),其调用格式如下(2)fsolve()函数fsolve函数一般用于非线性第六讲求非线性方程和方程组的近似解课件【例5】求解函数OPT=optimset;OPT.TolX=1e-10[x,Y,c,d]=fsolve(f,[-1;0],OPT)【例5】求解函数OPT=optimset;OPT.TolX=(3)roots()函数roots()函数专门用于求单变量代数方程求根,即当f(x)为一元多项式时的求解,其调用格式如下r=roots(p)%p为多项式的系数向量(按降幂排列),输出r为f(x)=0的全部根(包括复根)(3)roots()函数roots()函数专门用于求单变量三、实例的求解1、求路面上最暗点与最亮点Q的照度函数C(x)?2Ph(h?x)322?2Ph[h?(s?x)]322照度函数的导数C'(x)??32Phx(h?x)522?3P2h(s?x)[h?(s?x)]2522三、实例的求解1、求路面上最暗点与最亮点Q的照度函数C(x)解题思路将所给的实际数据,P=2,h=5,s=20代入上面两个式子,在[0,20]上用matlab画出这两个函数的图形,找出照度函数的驻点大约在那些数值附近,然后以这些值为初始值,用fzero()函数求出这些驻点的横坐标,然后再求出相应的函数值,比较这些函数值,函数值最小的对应的x即为最暗的点,函数最大的点的x即为最亮的点解题思路将所给的实际数据,P=2,h=5,s=20代入上面画图找合适的初始值点symssc1=2*5/(5^2+s^2)^(3/2)+3*5/(5^2+(20-s)^2)^(3/2);c2=2*5*s/(5^2+s^2)^(5/2)-2*5*(20-s)/(5^2+(20-s)^2)^(5/2);S=[0:0.5:20];C1=subs(c1,S);C2=subs(c2,S);subplot(1,2,1)plot(S,C1);gridonsubplot(1,2,2)plot(S,C2);gridon结论:x0=[0,10,20],即一阶导数方程的有三个根,且在这三个数附近画图找合适的初始值点symssc1=2*5/(5^2+sy=inline('2*5/(5^2+x^2)^(3/2)+2*5/(5^2+(20-x)^2)^(3/2)');dy=inline(‘2*5*x/(5^2+x^2)^(5/2)-2*5*(20-x)/(5^2+(20-x)^2)^(5/2)');x0=[0,10,20];fori=1:3X(i+1)=fzero(dy,x0(i));C(i+1)=y(X(i+1));endX(1)=0,X(i+2)=20;C(1)=y(X(1)),C(i+2)=y(X(i+2));[X;C]结果:y=inline('2*5/(5^2+x^2)^(3/2)+补充:最优化问题的求解要表述一个最优化问题(即建立数学模型),应明确三个基本要素:?决策变量(decisionvariables):它们是决策者(你)所控制的那些数量,它们取什么数值需要决策者来决策,最优化问题的求解就是找出决策变量的最优取值.?约束条件(constraints):它们是决策变量在现实世界中所受到的限制,或者说决策变量在这些限制范围之内取值才有实际意义.?目标函数(objectivefunction):它代表决策者希望对其进行优化的那个指标。目标函数是决策变量的函数.补充:最优化问题的求解要表述一个最优化问题(即建立数学模型)一、实例与数学模型?动物饲料配制问题的描述美国一家公司以专门饲养并出售一种实验用动物而闻名.该公司的研究表明,这种动物的生长对饲料中的三种营养成分特别敏感,即蛋白质、矿物质和维生素.同时发现这种动物每天至少需要70克蛋白质、3克矿物质和10毫克维生素.该公司能得到五种饲料,每一种饲料每磅所含的营养成分如表9.l,每种饲料每磅的成本如表9.2.公司希望找出满足动物营养需要而成本又最低的混合饲料配置.一、实例与数学模型?动物饲料配制问题的描述美国一家公司以专门表1每一种饲料每磅所含营养成分表2每种饲料每磅的成本表1每一种饲料每磅所含营养成分表2每种饲料每磅的成本模型的建立模型的建立上述过程写成一般的数学表达式mincx?0.02x1?0.07x2?0.04x3?0.03x4?0.05x5s.t.0.30x1?2.00x2?1.00x3?0.60x4?1.80x5?700.10x1?0.05x2?0.02x3?0.20x4?0.05x5?30.05x1?0.10x2?0.02x3?0.20x4?0.08x5?10xj?0(j?1,2,3,4,5)这就是一个线性规划问题,可以用线性规划算法(更现成的是用各种相关的软件)求解.T上述过程写成一般的数学表达式mincx?0.02x1?0.0二、最优化问题Matlab求解?(一)无约束最优化问题求解无约束最优化问题是最简单的一类最优化问题,其数学描述如下二、最优化问题Matlab求解?(一)无约束最优化问题求解无数值解法Matlab语言中提供了求解无约束优化的函数fminsearch(),其优化工具箱中还提供了函数fminunc(),这两者的调用格式完全一致,为数值解法Matlab语言中提供了求解无约束优化的函数fmin例1例1(二)有约束最优化问题的求解按照静态优化问题的结构是否线性分为线性规划和非线性规划.线性规划的特征是目标函数和约束条件中的函数都是决策变量的线性函数,并且约束是必不可少的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论