2016-12-09 38 views
0

我想用Matlab解決下面的優化問題:當t >= 0時最小化f(t)特殊種類的1d約束優化用Matlab

fseminf功能,但我不明白如何將它應用到我的情況。對於這樣一個看似簡單的問題,使用這樣一個強大的工具似乎有點矯枉過正。對於如何在此處應用fseminf的任何提示以及任何可以解決的問題,我將不勝感激。

+0

我會推薦'fmincon',這個函數可以讓你指定優化約束,算法並且有很好的文檔。 – lucianopaz

回答

0

Matlab是一個數值軟件,所以解決這個問題的一個「簡單」方法是計算的的值f(t),然後找到最小值。取決於功能,您要評估的t的數量可能會更小或更大。

一個可能的解決方案是:

t = 0:0.001:10; % create values from 0 to 10 in steps of 0.001 
f = t.^3+5; % evaluate the function for each value of 't' 
[minF, locT] = min(f); 
minF % this is the smallest value of the function 
t(locT) % the minimum value occurred at this 't' 

應該定義t是在你所期望的最小的區域,如果你把它定義錯了,這將只能找到當地最低。如果單獨的't'之間的間隔太大,最小值也可能會落在它們之間,這就是爲什麼我選擇'0.001'的相對小的步驟。