[問題] 關於fmincon的問題已回收

看板MATLAB作者 (New * for U)時間16年前 (2009/06/13 19:43), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
各位大大好~ 我想問一下關於下面這個算式 for i=1:5 f=f+ x(i)*mu(i)-LA/2*sigma2*w(i).^2 end 如果我想解讓 f 為最大的 x 值 不過 x 有範圍限制都是 0到1, 且 x 相加=1 這樣用fmincon解的話應該如何用呢? 我的做法是先在m.file裡寫 ---------------------------------- function f=myfun(x) f=0; M=5; LA=0.02; sigma2=1.25; mu=[0.25 0.25 0.25 0.25 0.25]; for i=1:M f= f+LA/2*sigma2*x(i).^2-x(i)*mu(i); end 然後再令 A=[1 1 1; -1 -1 -1]; b=[1; -1]; x0=[1/5 1/5 1/5 1/5 1/5]; Aeq=[1 1 1]; beq=[1]; 然後解 fmincon(@myfun,x0,Aeq,beq,lb,ub) 其中 lb 跟 ub 各為一皆為0 跟皆為1 的5維向量 不過這樣解都會出錯~"~ Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to medium-scale (line search). > In fmincon at 260 請各位大大救救我吧 小女子感激不盡><" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.231.5

06/15 02:03, , 1F
你試看看把條件A變成5*5的,b變成5*1
06/15 02:03, 1F

06/15 02:04, , 2F
我先把M=3,發現可以run,所以猜想是條件不夠的關係
06/15 02:04, 2F

06/15 18:23, , 3F
謝謝你~
06/15 18:23, 3F
文章代碼(AID): #1ACv3E7t (MATLAB)
文章代碼(AID): #1ACv3E7t (MATLAB)