matlab优化函数.doc_第1页
matlab优化函数.doc_第2页
matlab优化函数.doc_第3页
matlab优化函数.doc_第4页
matlab优化函数.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

Matlab优化函数 study 2009-10-28 17:45:15 阅读296 评论0 字号:大中小 最优化:bintprog Solve binary integer programming problems 解决二值整数规划问题fgoalattain Solve multiobjective goal attainment problems解决多目标达到问题fminbndFind Find minimum of single-variable function on fixed interval在固定区间上寻找单变量函数最小值fmincon Find minimum of constrained nonlinear multivariable function寻找约束非线性多元函数的最小值fminimax Solve minimax constraint problem解决最小最大约束问题fminsearch Find minimum of unconstrained multivariable function using derivative-freemethod 寻找无约束多元函数最小值采用无微分方法fminunc Find minimum of unconstrained multivariable function 寻找无约束多元函数的最小值fseminf Find minimum of semi-infinitely constrained multivariable nonlinear function 寻找半无穷约束多元非线性函数最小值linprog Solve linear programming problem 解决线性规划问题squadprog Solve quadratic programming problems 解决二次规划问题方程求解:fsolve Solve system of nonlinear equations 解决非线性方程组fzero Find root of continuous function of one variable 寻找一元连续函数的根最小二乘/曲线拟合lsqcurvefit Solve nonlinear curve-fitting (data-fitting) problems in least-squares sense 解决非线性曲线拟合问题在最小二乘意义下lsqlin Solve constrained linear least-squares problems 解决约束线性最小二乘问题lsqnonlin Solve nonlinear least-squares (nonlinear data-fitting) problems 解决非线性最小二乘问题lsqnonneg Solve nonnegative least-squares constraint problem 解决非负最小二乘约束问题用户界面:optimtool to select solver, optimization options, and run problems设置:color Column partition for sparse finite differencesfzmult Multiplication with fundamental nullspace basisgangstr Zero out small entries subject to structural rankoptimget Optimization options valuesoptimset Create or edit optimization options structure转/daiyuchao/archive/2009/04/21/4097582.aspx1 函数linprog格式x = linprog(f,A,b) %求minf *x sub.to 线性规划的最优解。x = linprog(f,A,b,Aeq,beq) %等式约束 ,若没有不等式约束 ,则A= ,b= 。x = linprog(f,A,b,Aeq,beq,lb,ub) %指定x的范围 ,若没有等式约束,则Aeq= ,beq= x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %设置初值x0x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % options为指定的优化参数x,fval = linprog() % 返回目标函数最优值,即fval= f *x。x,lambda,exitflag = linprog() % lambda为解x的Lagrange乘子。x, lambda,fval,exitflag = linprog() % exitflag为终止迭代的错误条件。x,fval, lambda,exitflag,output = linprog() % output为关于优化的一些信息说明若exitflag0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大数字,exitflag0,表示函数收敛于x,若exitflag=0,表示超过函数估计值或迭代的最大数字,exitflagx = fmincon(myfun,x0,A,b,Aeq,beq,lb,ub,mycon),先建立非线性约束函数,并保存为mycon.m:function C,Ceq = mycon(x)C = % 计算x处的非线性不等约束 的函数值。Ceq = % 计算x处的非线性等式约束 的函数值。lambda是Lagrange乘子,它体现哪一个约束有效。output输出优化信息;grad表示目标函数在x处的梯度;hessian表示目标函数在x处的Hessiab值。7函数quadprog格式x = quadprog(H,f,A,b) %其中H,f,A,b为标准形中的参数,x为目标函数的最小值。x = quadprog(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,x0) %x0为设置的初值x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) % options为指定的优化参数x,fval = quadprog() %fval为目标函数最优值x,fval,exitflag = quadprog() % exitflag与线性规划中参数意义相同x,fval,exitflag,output = quadprog() % output与线性规划中参数意义相同x,fval,exitflag,output,lambda = quadprog() % lambda与线性规划中参数意义相同8函数fseminf格式x = fseminf(fun,x0,ntheta,seminfcon)x = fseminf(fun,x0,ntheta,seminfcon,A,b)x = fseminf(fun,x0,ntheta,seminfcon,A,b,Aeq,beq)x = fseminf(fun,x0,ntheta,seminfcon,A,b,Aeq,beq,lb,ub)x = fseminf(fun,x0,ntheta,seminfcon,A,b,Aeq,beq,lb,ub,options)x,fval = fseminf()x,fval,exitflag = fseminf()x,fval,exitflag,output = fseminf()x,fval,exitflag,output,lambda = fseminf()参数说明:x0为初始估计值;fun为目标函数,其定义方式与前面相同;A、b由线性不等式约束 确定,没有,则A= ,b= ;Aeq、beq由线性等式约束 确定,没有,则Aeq= ,beq= ;Lb、ub由变量x的范围 确定;options为优化参数;ntheta为半无限约束的个数;seminfcon用来确定非线性约束向量C和Ceq以及半无限约束的向量K1,K2,Kn,通过指定函数柄来使用, 9函数fminimax格式x = fminimax(fun,x0)x = fminimax(fun,x0,A,b)x = fminimax(fun,x0,A,b,Aeq,beq)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval,maxfval = fminimax()x,fval,maxfval,exitflag = fminimax()x,fval,maxfval,exitflag,output = fminimax()x,fval,maxfval,exitflag,output,lambda = fminimax()参数说明:fun为目标函数;x0为初始值;A、b满足线性不等约束 ,若没有不等约束,则取A= ,b= ;Aeq、beq满足等式约束 ,若没有,则取Aeq= ,beq= ;lb、ub满足 ,若没有界,可设lb= ,ub= ;nonlcon的作用是通过接受的向量x来计算非线性不等约束 和等式约束 分别在x处的值C和Ceq,通过指定函数柄来使用,如:x = fminimax(myfun,x0,A,b,Aeq,beq,lb,ub,mycon),先建立非线性约束函数,并保存为mycon.m:function C,Ceq = mycon(x)C = % 计算x处的非线性不等约束 的函数值。Ceq = % 计算x处的非线性等式约束 的函数值。options为指定的优化参数;fval为最优点处的目标函数值;maxfval为目标函数在x处的最大值;exitflag为终止迭代的条件;lambda是Lagrange乘子,它体现哪一个约束有效。output输出优化信息。10函数fgoalattain格式x = fgoalattain(fun,x0,goal,weight)x = fgoalattain(fun,x0,goal,weight,A,b)x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq)x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub)x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval = fgoalattain()x,fval,attainfactor = fgoalattain()x,fval,attainfactor,exitflag = fgoalattain()x,fval,attainfactor,exitflag,output = fgoalattain()x,fval,attainfactor,exitflag,output,lambda = fgoalattain()参数说明:x0为初始解向量;fun为多目标函数的文件名字符串,其定义方式与前面fun的定义方式相同;goal为用户设计的目标函数值向量;weight为权值系数向量,用于控制目标函数与用户自定义目标值的接近程度;A、b满足线性不等式约束 ,没有时取A= ,b= ;Aeq、beq满足线性等式约束 ,没有时取Aeq= ,beq= ;lb、ub为变量的下界和上界: ;nonlcon的作用是通过接受的向量x来计算非线性不等约束 和等式约束 分别在x处的值C和Ceq,通过指定函数柄来使用options为指定的优化参数;fval为多目标函数在x处的值;attainfactor为解x处的目标规划因子;exitflag为终止迭代的条件;output为输出的优化信息;lambda为解x处的Lagrange乘子11函数lsqlin 格式x = lsqlin(C,d,A,b) %求在约束条件 下,方程Cx = d的最小二乘解x。x = lsqlin(C,d,A,b,Aeq,beq) %Aeq、beq满足等式约束 ,若没有不等式约束,则设A= ,b= 。x = lsqlin(C,d,A,b,Aeq,beq,lb,ub) %lb、ub满足 ,若没有等式约束,则Aeq= ,beq= 。x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0) % x0为初始解向量,若x没有界,则lb= ,ub= 。x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options) % options为指定优化参数x,resnorm = lsqlin() % resnorm=norm(C*x-d)2,即2-范数。x,resnorm,residual = lsqlin() %residual=C*x-d,即残差。x,resnorm,residual,exitflag = lsqlin() %exitflag为终止迭代的条件x,resnorm,residual,exitflag,output = lsqlin() % output表示输出优化信息x,resnorm,residual,exitflag,output,lambda = lsqlin() % lambda为解x的Lagrange乘子12函数lsqcurvefit格式x = lsqcurvefit(fun,x0,xdata,ydata)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)x,resnorm = lsqcurvefit()x,resnorm,residual = lsqcurvefit()x,resnorm,residual,exitflag = lsqcurvefit()x,resnorm,residual,exitflag,output = lsqcurvefit()x,resnorm,residual,exitflag,output,lambda = lsqcurvefit()x,resnorm,residual,exitflag,output,lambda,jacobian =lsqcurvefit()参数说明:x0为初始解向量;xdata,ydata为满足关系ydata=F(x, xdata)的数据;lb、ub为解向量的下界和上界 ,若没有指定界,则lb= ,ub= ;options为指定的优化参数;fun为拟合函数,其定义方式为:x = lsqcurvefit(myfun,x0,xdata,ydata),其中myfun已定义为 function F = myfun(x,xdata)F = % 计算x处拟合函数值fun的用法与前面相同;resnorm=sum (fun(x,xdata)-ydata).2),即在x处残差的平方和;residual=fun(x,xdata)-ydata,即在x处的残差;exitflag为终止迭代的条件;output为输出的优化信息;lambda为解x处的Lagrange乘子;jacobian为解x处拟合函数fun的jacobian矩阵。13函数lsqnonlin格式x = lsqnonlin(fun,x0) %x0为初始解向量;fun为 ,i=1,2,m,fun返回向量值F,而不是平方和值,平方和隐含在算法中,fun的定义与前面相同。x = lsqnonlin(fun,x0,lb,ub) %lb、ub定义x的下界和上界: 。x = lsqnonlin(fun,x0,lb,ub,options) %options为指定优化参数,若x没有界,则lb= ,ub= 。x,resnorm = lsqnonlin() % resnorm=sum(fun(x).2),即解x处目标函数值。x,resnorm,residual = lsqnonlin() % residual=fun(x),即解x处fun的值。x,resnorm,residual,exitflag = lsqnonlin() %exitflag为终止迭代条件。x,resnorm,residual,exitflag,output = lsqnonlin() %output输出优化信息。x,resnorm,residual,exitflag,output,lambda = lsqnonlin() %lambda为Lagrage乘子。x,resnorm,residual,exitflag,output,lambda,jacobian =lsqnonlin() %fun在解x处的Jacobian矩阵。14函数lsqnonneg格式x = lsqnonneg(C,d) %C为实矩阵,d为实向量x = lsqnonneg(C,d,x0) % x0为初始值且大于0x =

温馨提示

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

最新文档

评论

0/150

提交评论