[討論] 有關多變數函式已回收

看板MATLAB作者時間14年前 (2011/06/12 21:26), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
請教各位,目前我在實作otsu演算法時遇到了這個問題(沒聽過otsu不要緊): max f(k1,k2,k3,...,kn), 1<k1<k2<....<kn<L 其中k1~kn是n個變數,而f(k1,k2,k3,...,kn)是這n個變數的函式 而變數的範圍有1<k1<k2<....<kn<L的限制 整個式子是要求一組(k1,k2,...,kn)使得f(k1,k2,k3,...,kn)最大。 請問這個除了用多層迴圈去寫之外有其他方法嗎? 或是matlab有什麼指令支援這種式子嗎? 因為目前n=18,寫18層迴圈實在… 請各位指教囉~~ -- 家家是家,到家才是家~道道是道,放下見大道 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.149.153

06/12 21:51, , 1F
sort?
06/12 21:51, 1F

06/12 22:47, , 2F
可能我描敘的不好,不是對k1~kn做排序
06/12 22:47, 2F

06/12 22:49, , 3F
k1~kn彼此之間有大小關係,它們形成一個多項式,例如
06/12 22:49, 3F

06/12 22:50, , 4F
f=k1+k2+...+kn,要找一組k1~kn使得f為最大
06/12 22:50, 4F

06/12 22:57, , 5F
以這個例子來說,答案就是(k1,k2,...,kn)=(L-n,L-n+1,..)
06/12 22:57, 5F
文章代碼(AID): #1DzBwQvt (MATLAB)