2017-06-04 42 views
-2

我在matlab中有一個函數function UFamily = CalcUFamily(hh,hw)。該功能的價值由hh和hw(家庭中夫妻的工作時間)決定。我想獲得最大限度地發揮功能的hh和hw UFamily在Matlab中最大化函數

我該怎麼辦?我無法使fmincon正常工作。

感謝您的幫助! :)

+0

您需要添加你如何試圖用'fmincon'你的代碼,幾乎肯定需要添加有關(因爲如果沒有代碼)'CalcUFamily' – Dan

+0

'H = [詳情1000 1000]; %起始值 lb = [0 0]; %h的下限% ub = [3500 3500]; % Uoptimal = fmincon(@(h1,h2)-U(h1,h2),h,[],[],[],[],lb,ub);' 'CalcUFamily'一個很長的代碼,但它是基於家庭中女性和男性的工作時間。 – KGB91

+0

請將代碼添加到您可以編輯的問題中,像這樣的註釋中的代碼不可讀取 – Dan

回答

0

fmincon最小化的函數應該使用'h'(1x2)作爲其輸入,而函數CalcUFamily需要兩個輸入hh和hw。你可以這樣做:

myFun = @(h) -CalcUFamily(h(1), h(2)); % function to minimize with one input 
Uoptimal = fmincon(myFun, [1000 1000], [], [], [], [], lb, ub); 
+0

謝謝!這項工作是否可以分別爲男性和女性進行1小時到3500小時的測試? – KGB91

+0

我不能回答這個問題,因爲這與您如何評估它有關,即您的CalcUFamily函數如何計算分數。 –

+0

我得到: 'Berakningsmodeller中的錯誤(第6行) Uoptimal = fmincon(myFun,[1000 1000],[],[],[],[],lb,ub); 引起: 初次用戶提供的目標函數評估失敗。 FMINCON無法繼續。# 你需要我的其他功能的整個代碼?它很長,但如果需要的話,我可以發佈它。 – KGB91