网站大量收购闲置独家精品文档,联系QQ:2885784924

第3讲matlab优化.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3讲matlab优化.ppt

Matlab优化 第 三 讲 本章主要学习利用matlab解决优化问题: 一、函数和方程 1、函数(定义与求值) 2、多项式(运算与求根) 3、解方程(组) 二、优化问题 1、无约束优化(函数的极值) 2、规划问题(线性和非线性) 3、目标规划 4、数学模型 一、函数和方程 1、函数 (1) 函数定义方法 Fun=inline(‘funstr’,’var’) %定义一个lnline函数,funstr是函数的表达式,var是变量名. Fun=@(var)funstr %定义一个匿名函数,funstr是函数的表达式,var是变量名. Fun=@Mfun %定义一个函数句柄,Mfun是函数的m文件名. (2) 函数值的求法 按上述方法定义好函数后,求函数值就有下述两种方法: Fun(value) %求Fun在value处的值,value可以是一个数、向量或矩阵. feval(Fun,value) %feval是matlab内部命令,求Fun在value处的值,value可以是一个数、向量或矩阵. 例1 求y=x*sin(x)在x=pi/4,1,pi/3,3/2处的值. clear fun1=inline(‘x.*sin(x)’,’x’); fun2=@(x) x.*sin(x); fun3=@mfun 其中 mfun.m 的语句如下: function y=mfun(x) y= x.*sin(x); x=[pi/4,1,pi/3,3/2] y1=fun1(x); y2=fun2(x); y3=fun3(x); z1=feval(fun1,x); z2=feval(fun2,x); z3=feval(fun3,x); 求出结果完全一样,为 0.55536 0.84147 0.9069 1.4962 2、多项式 (1) 定义 matlab中一个多项式用系数降幂排列向量来表示. 如:多项式x^3+2x^2-5,在matlab中表示为[1 2 0 -5] (注意,不要遗漏系数为0的项). (2) 运算: 1) 求函数值 y=polyval(p,x) %求多项式p在x处的值. 2) 乘法 p=conv(p1,p2) %p返回p1与p2的乘积. 3) 除法 [p,r]=deconv(p1,p2) %p返回p1除以p2的商,r返回余项. (3) 求根 x=roots(p) % 求多项式p的根(复数范围内求解). p1=[1 2 3 0 4 1]; p2=[1 0 1]; p3=conv(p1,p2); [p4,r]=deconv(p1,p2); y=ployval(r,1); x=roots(r); 求解结果为: p3 = 1 2 4 2 7 1 4 1 p4 = 1 2 2 -2 r = 2 3 x = -1.5000 3、解方程(组) matlab指令(下面两个命令只能求实根) x=fzero(Fun,x0) %返回一元函数Fun的一个零点,其中Fun是按前面方式定义的函数. X0为标量时,返回函数在x0附近的零点;x0为区间[a,b]时,fzero 要求Fun在区间端点的函数值异号(否则fzero无法求解),返回函数在区间[a,b]中的零点. [x,f,h]=fsolve(Fun,x0) %返回一元或多元函数Fun的一个零点,其中Fun是按前面方式定义的函数. X0为迭代初值,f 返回函数Fun在x的函数值, 应该接近0;h返回值如果大于0, 说明计算结果可靠, 否则不可靠. (2) 解方程(组) 例1 求函数y=xsin(x^2-x-1)在(-2,-0.1)内的零点. 分析 首先要定义函数;然后考虑fzero是否可以 求解(因为给定的是一个区间),若不可求解,则用 fsolve求解. fun=inline(‘x*sin(x^2-x-1)’,’x’); fun(-2);fun(-0.1);%端点函数值是否异号 可以看出端点函数直同号,fzero不可直接求解. 此时,我们作出函数图形,观察出一个初值来.

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档