工程最优化即最大(小)值问题 1、无约束(无条件)的最优化 (1)使用 fminunc 函数 (un-condition) (2)可用于任意函数求最小值 (3)将最大、最小问题统一为求最小值问题(即只能求最小值)
如求最大值, 则要对函数取相反数而变成求最小值问题, 最后再把函数值取反即为函数的最大值
(求最大值需两次取反(一前一后)) (前后都是函数 y 两次取反,而自变量 X 不要取反) (4)使用格式 x=fminunc(‘程序名’, x0) 左边的结果还可以写成 [x ,fv al] 或 [x ,fv al,ex itflag] 或 必须预先把函数存入到一个程序中,(所编的程序一定是只有一个参数,则 当 为 多 元 函数时 , 则x (1),x (2),x (3)…分 别 代 表 每 个 自 变量) 其中 fv al 为函数的最小值, x 0 为自变量初始向量,一般不影响结果 (如有 n 个变量(即 n 元函数),则 x 0 中就有 n 个元素) ex itflag 为退出标志,当它大于0 时表示函数收敛于x ,当它等于0 时表示迭代次数超过,当它小于0 时表示函数不收敛(所以解完题后还必须判断ex itflag 的值是否>0,以决定结果的正误/有效性) 最好返回三个结果 函数存在最值的条件:在闭区间连续,存在导数等(说明有很多函数不存在最值:有大、有小、有大小、都无) 可以是任意函数、任意 n 元函数求最小值 最后一定要看看 ex itflag........的值(判断结果是否有效)---所以结果最好返回三个结果 函数可以用内联函数inline(‘表达式’) (程序中的
^可要可不要,一般还是不要吧) (5)y = x 2+4x +5 的最小值 (结果-2,1) 其函数形式为:---可以@, 内联函数inline(‘x2+4x +5’), funct