非线性最小二乘lsqnonlin_第1页
非线性最小二乘lsqnonlin_第2页
非线性最小二乘lsqnonlin_第3页
非线性最小二乘lsqnonlin_第4页
非线性最小二乘lsqnonlin_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、非线性最小二乘Isqnonlin 数学规划模型的matlab求解 数学规划模型的matlab求解var OsObject = ,H,; if(navigator.userAgent.indexOf("MSIE,)>0) document.write); if (isFirefox=navigator.userAgentJndexOf(HFirefoxH)>0) document.write(”H); if(isSafari=navigator.userAgentJndexOf(,Safan,')>0) /return "Safari" i

2、f(isCamin o二navigator.userAgent.indexOf(,Camino,)>0) /return ”Camino”; if(isMozilla=navigato r.userAgentindexOf(”Gecko/J>0) /return "Gecko" 今天胡老师给我们讲了数学规划模型,数学规划模型是优化模型的一种,包括线性规划模型 (目标函数和约束条件都是线性函数的优化问题);非线性规划模型(目标函数或者约束条件 是非线性的函数);整数规划(决策变量是整数值得规划问题);多目标规划(具有多个目标函 数的规划问题):目标规划(具有不同优

3、先级的目标和偏差的规划问题)动态规划(求解多阶 段决策问题的最优化方法)。数学规划模型相对比较好理解,关键是要能熟练地求出模型的 解。以下是解线性规划模型的方法:线性规划问题线性规划问题的标准形式为:min f ' *xsub.to: A*x<b其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵。MATLAB中,线性规划问题(Linear Programming)的求解使用的是函数linprogo 函数 linprog格式 x = linprog(f,A,b) %求 min f ' *x sub.to A*x<=b 线性规划的最优解。x = linprog(

4、f,A,b)Aeq,beq) %等式约束,若没有不等式约束,则A= , b=。x = linprog(f,A,b,Aeq,beq,lb,ub) %指定 x 的范围,若没有等式约束,则 Aeq= , b eq=x = linprog(f,A,b,Aeq,beq,lb,ub,xO) %设置初值 xOx = linprog(f,A,b,Aeq,beq,lb,ub,xO,options) % options 为指定的优化参数x,fval = linprog()%返回目标函数最优值,即fval= f ' %xjambda,exitflag = linprog(.)% lambda 为解 x 的

5、Lagrange 乘子。x, lambda,fval,exitflag = linprog()% exitflag 为终止迭代的错误条件。x.fval, lambda,exitflag,output = linprog(.)% output 为关于优化的一些信息说明若exitflag>0表示函数收敛于解x, exitflag=O表示超过函数估值或迭代的最人数字,exitflag<0表示函数不收敛于解x;若lambda=lower表示I、界lb, lambda=upper表示上界 ub, lambda=ineqlin表示不等式约束,lambda=eqlin表示等式约束,lambda中

6、的非0元素 表示对应的约束是有效约束:output=iterations表示迭代次数,output=algorithm表示使用 的运算规则,output=cgiterations表示PCG迭代次数。2. 非线性规划问题利用函数fminbnd求有约束的一元函数的最小值格式 x = fminbnd(fun,x1 ,x2)x = fminbnd(fun,x1 ,x2,options) % options 为指定优化参数选项x.fval = fminbnd(._) % fval为目标函数的最小值x.fval,exitflag = fminbnd(.)%xitflag 为终止迭代的条件x,fval,ex

7、itflag,output = fminbnd(.)% output 为优化信息命令利用函数fminsearch求无约束多元函数最小值函数 fminsearch格式 x = fminsearch(fun,xO)%x0为初始点,fun为目标函数的表达式字符串或MATLAB自定义函数的函数柄。x = fminsearch(fun,xO,options)% options 查 optimsetx.fval = fminsearch(.) %最优点的函数值x,fval,exitflag = fminsearch(.)% exitflag 与单变量情形一致x,fval,exitflag,output =

8、 fminsearch(.)%output 与单变量情形一致注意:fminsearch采用了 Nelder-Mead型简单搜寻法。命令 利用函数fminunc求多变量无约束函数最小值函数 fminu nc格式 x = fminunc(fun,xO)%返回给定初始点xO的最小函数值点x =fminunc(fun,xO,options) % options 为指定优化参数x.fval = fminunc(.) %fval 最优点 x 处的函数值x,fval,exitflag = fminunc(.)% exitflag 为终止迭代的条件,与上同。x,fval,exitflag,output = f

9、minunc()%output 为输出优化信息x.fval,exitflag,output,grad = fminunc(.)% grad 为函数在解 x 处的梯度值x,fval,exitflag,output.grad,hessian = fminunc() 目标函数在解 x 处的海赛(Hessian)值注意:当函数的阶数人于2时,使用fminunc比fminsearch更有效,但当所选函数高度不连 续时,使用fminsearch效果较好。利用fmincon求线性有约束的多元函数的最小值函数 fmincon格式 x = fmincon(fun,xO Ab)x = fmincon(fun,xO

10、,A,b,Aeq,beq)x = fminc on (fun,xO,A,b,Aeq,beq,lb,ub)x = fminc on (fun,xO,A,b,Aeq,beq,lb,ub, non Icon)x = fminc on (fun,xO,A,b,Aeq,beq,lb,ub, nonIcon .options)x,fval = fmincon(.)x,fval,exitflag = fmincon()x,fval,exitflag,output = fmin con(.)x,fval,exitflag,outputjambda = fmincon(.)x,fval,exitflag,out

11、putjambda.grad = fminc on (.)x,fval,exitflag,outputjambda.grad,hessian = fmincon(.)函数 fminbnd格式 x = fminbnd(fun,x1 ,x2)%返回自变量x在区间 上函数fun取最小值时x值,fun为目标函数的表达式字符串或MATLAB自定义函数的函数柄。x = fminbnd(fun,x1 ,x2,options) % options 为指定优化参数选项x.fval = fminbnd(.) % fval 为目标函数的最小值x.fval,exitflag=fminbnd(._.)%xitflag为

12、终止迭代的条件x,fval,exitflag,output = fminbnd()% output 为优化信息说明 若参数exitflag>0.表示函数收敛于x,若exitflag=O,表示超过函数估计值或迭代的最人数字,exitflag<0表示函数不收敛于x:若参数output=iterations表示迭代次数,output=funccount表示函数赋值次数,output=algorithm表示所使用的算法。3. 二次规划问题函数 quadprog格式 x = quadprog(H,fAb) %其中H,f,A,b为标准形中的参数,x为目标函数的最小 值。x = quadprog

13、(H,f,A,b,Aeq)beq)%Aeq,beq 满足等约束条件。x = quadprog(H,f,A,b,Aeq,beq,lb,ub)% lb,ub 分别为解 x 的下界与上界。x = quadprog(H,f,A,b,Aeq)beq,lb,ub,xO) %x0 为设置的初值x = quadprog(H,f,A,b,Aeq,beq,lb,ub,xO,options)% options 为指定的优化参数x.fval = quadprog(.)%fval 为目标函数最优值x.fval.exitflag = quadprog(.)% exitflag 与线性规划中参数意义相同x,fval,exi

14、tflag,output = quadprog(._)% output 与线性规划中参数意义相同x,fval,exitflag,output,lambda = quadprog(.)% lambda 与线性规划中参数意义相同4. 极小化极人(Minmax)问题函数 fminimax格式 x = fminimax 他 n,xO)x = fminimax(fun,xO,A,b)x = fminimax(fun,xO,A,b,Aeq,beq)x = fminimax(fun,xO,A,b,Aeqibeq1lb,ub)x = fminimax(fun,xO,A,b,AeqibeqJb,ub,nonIc

15、on)x = fminimax(fun,xO,A,b,AeqibeqJb,ub,nonIcon,optio ns)x,fval,maxfval = fminimax()x,fval,maxfval,exitflag = fminimax(.)x,fval,maxfval,exitflag,output = fminimax()x,fval,maxfval,exitflag,outputjambda = fmin imax()5多目标规划问题函数fgoalattai n格式 x = fgoalattain(fun,xO,goal,weight)x = fgoalattain(fun,xO,goa

16、l,weight,A,b)x = fgoalattain(fu n,xO,goal,weight,A,b,Aeq,beq)x = fgoalattain(fu n,xO,goal,weight,A,b,Aeq,beq,lb,ub)x = fgoalattain(fu n,xO,goal,weight,A,b,Aeq,beq,lb,ub,nonlc on)x = fgoalattain(fu n,xO,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval = fgoalattain(._)x,fval,attainfactor = fgoala

17、ttai n()xjvahattainfactor,exitflag = fgoalattain()xjvahattainfactor,exitflag,output = fgoalattai n()xjvahattainfactor,exitflag,outputjambda = fgoalattain()6.最小二乘最优问题有约束线性最小二乘函数 Isqlin格式 x = lsqlin(C,d,A,b)%求在约束条件下,方程Cx = d的最小二乘解x。x = lsqlin(C,d,A,b,Aeq,beq)%Aeq、beq满足等式约束,若没有不等式约束,则设A=,b=ox = lsqlin(

18、C,d,A,b,Aeq,beq,lb,ub) %lb、ub 满足,若没有等式约束,则 Aeq=, beq=ox = lsqlin(C,d,A,b,Aeq,beq,lb,ub,xO) % xO为初始解向量,若 x 没有界,则 lb=, ub=ox = lsqlin(C,d,A,b,Aeq,beq,lb,ub,xO,options)% options 为指定优化参数x,resnorm = Isqlin()% resnorm=norm(C*x-d)A2, 即2范数。x,resnorm,residual=lsqlin(.) %residual=C*x-d,即残差。x,resnorm,residual,

19、exitflag = lsqlin(.) %exitflag 为终止迭代的条件x,resnorm,residual,exitflag,output = lsqlin(.) % output 表示输出优化信息x,resnorm,residual,exitflag,output,lambda = Isqlin()% lambda 为解 x 的 Lagrange乘子非线性数据(曲线)拟合函数 Isqcurvefit格式 x = lsqcurvefit(fun,xO,xdata,ydata)x = lsqcurvefit(fun,xO,xdata,ydata,lb,ub)x = lsqcurvefit

20、(f un ,xO,xdata,ydata,lb,ub,options)x.resnorm = Isqcurvefit()x.res no rm,residual = Isqcurvefit()x.res no rm,residual,exitflag = Isqcurvefit()x,res norm,residual,exitflag,output = Isqcurvefit()x,res no rm,residual,exitflag,output,lambda = Isqcurvefit()非线性最小二乘函数Isqnonli n格式 X = Isqnonlin(fun.xO) %x0为

21、初始解向量;fun为,i=1,2,.»m, fun返回向量值F,而不是平方和值,平方和隐含在算法中,fun的定义与前面相同。x = lsqnonlin(fun,xO,lb,ub) %lb、ub 定义 x 的下界和上界:。x = lsqnonlin(fun,xO,lb,ub,options)%options 为指定优化参数,若 x 没有界,则 lb=,ub= ox.resnorm = Isqnonlin()% resnorm=sum(fun(x).A2),即解 x 处目标函数值。x,resnorm,residual = Isqnonlin()% residual=fun(x),即解 x

22、 处 fun 的值。x.resnorm.residual,exitflag = Isqnonlin()%exitflag 为终止迭代条件。x,resnorm,residual,exitflag,output = lsqnonlin(.)%output 输出优化信息。x.resnorm,residual,exitflag,output,lambda = Isqnonlin()%lambda 为 Lagrage 乘子x,resnorm,residual,exitflag,output,lambda,jacobian =lsqnonlin(.)%fun 在解 x 处的Jacobian 矩。非负线性最

23、小二乘函数 Isqn onneg格式 x = Isqnonneg(C.d) %C为实矩阵,d为实向量x = lsqnonneg(C,d,xO) % xO为初始值且人于0x = lsqnonneg(C,d,xO,options) % options 为指定优化参数x.resnorm = Isqnonneg()% resnorm=norm (C*x-d)A2x,resnorm,residual = Isqnonn eg()%residual=C*x-dx,res norm,residual,exitflag = Isqn on neg()x,res no rm,residual,exitflag,

24、output = Isqnonneg()x,res norm,residual,exitflag,output,lambda = Isqnonn eg(.)6.非线性方程(组)求解非线性方程的解函数 fzero格式 x = fzero (fun.xO) %用fun定义表达式f(x), xO为初始解。x = fzero (fun,xO,options)x.fval = fzero(.) %fval=f(x)x,fval,exitflag = fzero()x,fval,exitflag,output = fzero()非线性方程组的解函数 fsolve格式 X = fsolve(fun.xO)

25、%用fun定义向量函数,其定义方式为:先定义方程函数 function F = myfun (x)。F=表达式4;表达式2;表达式m%保存为myfun.m,并用卞面方式调用:x =fsolve(myfun,xO), xO为初始估计值。x = fsolve(fun,xO,options)x.fval = fsolve(.) %fval=F(x),即函数值向量x,fval,exitflag = fsolve()x,fval,exitflag,output = fsolve(.)x,fval,exitflag,outputjacobian = fsolve()% jacobian 为解 x 处的 Jacobian 阵。其余参数与前面参数相似。非线性最小二乘法非线性最小二乘法非线性最小二乘法-正文以误差的平方和最小为准则来估计非线性静态模型参数的一种参数估计方法。设非线性 系统的模型为y=f(x, 0)式中y是系统的输出,x是输入,e是参数(

温馨提示

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

评论

0/150

提交评论