[問題] 有範圍限制求極值 (quadprog.fminsearch)已回收

看板MATLAB作者 (憨仔)時間14年前 (2011/06/23 21:50), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
我現在想求一個函數的極值 函數類似於下面這個 -6*b^3*y^2 + 5*b^2*y - 2*b^2 + b*y^2 + 2*b*y + b + 5*y^2 - 5*y + 6 or 然後要找 -100 <= b . y <= 100 的極值 用quadprog 可以限制範圍 可是因為 b^3 * y^2 這項, 所以quadprog似乎沒法做 ( quadprog 應該只能解 ax^2 + bxy + cy^2 + dx +ey + f 的問題吧? ) 用 fminsearch 可以求 min 可是好像沒有限制 b.y 範圍的地方 想請問該怎麼做? 懇請回答... -- http://tinyurl.com/3ntagtg 誰阿?

06/19 23:44,
桂綸鎂
06/19 23:44
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.81

06/25 14:34, , 1F
有很多方法可以做,這邊舉例一個最簡單的方法,用轉換
06/25 14:34, 1F

06/25 14:39, , 2F
F(x)=f(x)+C*(min(0,-100-b)+min(0,y-100))
06/25 14:39, 2F

06/25 14:40, , 3F
C為penalty parameter,一個很大的數,這樣可將原本題目
06/25 14:40, 3F

06/25 14:41, , 4F
轉換為無限制條件,求得f(x)最小值
06/25 14:41, 4F

06/25 21:35, , 5F
感謝 懂了~~~
06/25 21:35, 5F
文章代碼(AID): #1E0qIV8l (MATLAB)