五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
宝山区| 成安县| 桂平市| 改则县| 潮安县| 泾川县| 哈尔滨市| 阳城县| 南城县| 高淳县| 万荣县| 克山县| 高清| 时尚| 黔东| 平利县| 山丹县| 哈巴河县| 伊宁市| 景谷| 轮台县| 镇原县| 和平区| 嘉义县| 碌曲县| 乡城县| 封丘县| 青川县| 文登市| 密山市| 海丰县| 岳西县| 鹤庆县| 唐河县| 河曲县| 剑阁县| 三门县| 年辖:市辖区| 海晏县| 云霄县| 永顺县|