最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

附录-Note10:matlab 中fminunc、fmaxunc的用法

IT圈 admin 934浏览 0评论

2024年4月3日发(作者:鹿春芳)

工程最优化即最大(小)问题

关于工程最优化的求解,之前已有基因遗传算法、蚁群算法、凸优化。今天来介绍一

种方法,是基于matlab自带函数

fminunc、fmaxunc来计算的,它的计算方式更加简洁高效,只需解一个目标函数。

➢ 一、无约束(无条件)的最优化

使用fminunc函数 (un-condition)

1) 可用于任意函数求最小值问题( 即只能求最小值 )。

如求最大值:

ˆ

1

d

w

ˆ

u

argmax

d

H

w

Rw

w

(1)

取反,则等效为求最小值:

ˆ

1

d

w

ˆ

u

argmin

d

H

w

Rw

w



(2)

这个过程不影响自变量w.

2) 代码格式

x = fminunc(@func, x0);

[x,fval] = fminunc(@func, x0);

[x,fval,exitflag] = fminunc(@func, x0);

必须预先把函数存入到一个程序中 ,(所编的程序一定是只有个参数,则 当为多元函

数时,则x(1),x(2), x(3) … 分别代表每个自变)。

其中:fval为函数的最小值;x0为自变量初始向量,一般不影响结果;exitflag为退

出标志,当它大于0时表示函数收敛于x,当它

0,函数收敛于x,一般等于1

exitflag

0,函数不收敛

0,函数不收敛

(所以解完题后还必须判断exitflag的值是否 > 0,

以决定结果的正误/有效性)

最好返回三个结果

(3)

函数存在最值的条件:在闭区间连续,存在导数等(说明有很多函数不存在最值:有

大、有小、有大小、都无)

可以是任意函数、任意n元函数求最小值

最后一定要看看exitflag的值(判断结果是否有效 -- 所以结果最好返回三个结果

*^

函数可以用内联函数inline('expression')(程序中的...可要可不要,一般还

是不要吧)

二、fminbnd(‘@func’, x1, xn) 求函数在区间➢

[x1, xn]的最小值

2024年4月3日发(作者:鹿春芳)

工程最优化即最大(小)问题

关于工程最优化的求解,之前已有基因遗传算法、蚁群算法、凸优化。今天来介绍一

种方法,是基于matlab自带函数

fminunc、fmaxunc来计算的,它的计算方式更加简洁高效,只需解一个目标函数。

➢ 一、无约束(无条件)的最优化

使用fminunc函数 (un-condition)

1) 可用于任意函数求最小值问题( 即只能求最小值 )。

如求最大值:

ˆ

1

d

w

ˆ

u

argmax

d

H

w

Rw

w

(1)

取反,则等效为求最小值:

ˆ

1

d

w

ˆ

u

argmin

d

H

w

Rw

w



(2)

这个过程不影响自变量w.

2) 代码格式

x = fminunc(@func, x0);

[x,fval] = fminunc(@func, x0);

[x,fval,exitflag] = fminunc(@func, x0);

必须预先把函数存入到一个程序中 ,(所编的程序一定是只有个参数,则 当为多元函

数时,则x(1),x(2), x(3) … 分别代表每个自变)。

其中:fval为函数的最小值;x0为自变量初始向量,一般不影响结果;exitflag为退

出标志,当它大于0时表示函数收敛于x,当它

0,函数收敛于x,一般等于1

exitflag

0,函数不收敛

0,函数不收敛

(所以解完题后还必须判断exitflag的值是否 > 0,

以决定结果的正误/有效性)

最好返回三个结果

(3)

函数存在最值的条件:在闭区间连续,存在导数等(说明有很多函数不存在最值:有

大、有小、有大小、都无)

可以是任意函数、任意n元函数求最小值

最后一定要看看exitflag的值(判断结果是否有效 -- 所以结果最好返回三个结果

*^

函数可以用内联函数inline('expression')(程序中的...可要可不要,一般还

是不要吧)

二、fminbnd(‘@func’, x1, xn) 求函数在区间➢

[x1, xn]的最小值

发布评论

评论列表 (0)

  1. 暂无评论