最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【科研小技巧】——多自變量目標(biāo)函數(shù)求最小值,matlab非線性規(guī)劃函數(shù)fmincon使用方法

2022-06-04 20:25 作者:ACK阿薩卡  | 我要投稿

最近搞科研遇到了一個(gè)問(wèn)題,描述如下:

對(duì)于自變量x1,x2,已知x1∈(0,1),x2∈(0,x1),且有f=f(x1,x2),如何求解f(x1,x2)對(duì)應(yīng)的最小值?

最早我用的辦法就是遍歷的方法,利用兩個(gè)for循環(huán)嵌套的方式,求解該函數(shù)的最小值,但這種方法計(jì)算速度很慢,效率低下。

那么如何快速求解上述問(wèn)題呢?在與辦公室大佬的交流中,我得知了fmincon函數(shù),這也令我如獲至寶。

fmincon這個(gè)函數(shù)的使用方法百度有很多教程有教學(xué),我也簡(jiǎn)單記錄一下。

非線性規(guī)劃函數(shù)fmincon調(diào)用形式如下:

[x,fval] = fmincon(fun ,x0 ,A ,b ,Aeq ,Beq ,LB ,UB ,nonicon)

其中:

(1)x為求解函數(shù)的最小值,fun為目標(biāo)函數(shù)

fun函數(shù)寫(xiě)成句柄的函數(shù)形式

例如:fun=@(x)?x(1)^2+x(2)^2+8;

(2)x0為自變量初始估值

如有兩個(gè)自變量估值x1,x2應(yīng)寫(xiě)成[x1; x2],注意這里是用分號(hào)隔開(kāi)

(2)A,b為線性不等式約束

如果不等式約束有:

x1+x2<1

x1+2*x2<10

則這里的A為自變量系數(shù),即為[1,1; 1,2],不同的不等式約束之間用分號(hào)連接

b為小于號(hào)右邊數(shù),即為[1;10]

(3)Aeq,beq為線性等式約束

如果等式約束有:

x1 + x2 =?5

x1 + 2*x2 = 15

則這里的Aeq為自變量系數(shù),即為[1,1; 1,2],不同的不等式約束之間用分號(hào)連接

beq為等于號(hào)右邊數(shù),即為[5;15]

(4)LB,UB分別為自變量x1,x2上下限

如果x1和x2分別滿足

0<x1,x2<1

則這里L(fēng)B = [0,0],UB=[1,1]

(5)nonlincon是非線性約束

這里需要單獨(dú)將其寫(xiě)成一個(gè)函數(shù)形式,比如非線性約束有:

非線性約束

那么這里可以單獨(dú)寫(xiě)一個(gè)非線性約束的函數(shù)

例如

function [c,ceq] = nonlincon(x)

c = -x(1)^2 +?x(2)????????%一定要保持c ≤ 0 這種形式

ceq = -x(1) - x(2)^2 + 2;

利用fmincon函數(shù),將前述問(wèn)題具體化,可寫(xiě)為:

[x,eval] =?fmincon(fun?,x0?,A?,b?,Aeq?,Beq?,LB?,UB?,nonicon)

fun = @(x) f(x);? ? ? ?%具體函數(shù)形式根據(jù)求解問(wèn)題確定

x0 = [0.5,0.4];

A = [-1,1];

b = 0;

Aeq = [];

Beq = [];

LB = [0,0];

UB = [1,1];

這樣即可求解出目標(biāo)函數(shù)的最小值fval,以及對(duì)應(yīng)的自變量x



【科研小技巧】——多自變量目標(biāo)函數(shù)求最小值,matlab非線性規(guī)劃函數(shù)fmincon使用方法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
景洪市| 策勒县| 巴中市| 商洛市| 清丰县| 凤翔县| 沁源县| 文成县| 措美县| 萨迦县| 信宜市| 合水县| 禄劝| 武强县| 福清市| 大邑县| 深圳市| 澄迈县| 苗栗县| 阆中市| 南郑县| 汾西县| 连云港市| 崇明县| 新沂市| 卓资县| 麦盖提县| 伊吾县| 涟源市| 克东县| 星座| 北碚区| 鄂托克旗| 手游| 阜城县| 武城县| 梅河口市| 弋阳县| 都安| 大余县| 西吉县|