[問題] fmincon顯示錯誤?已回收

看板MATLAB作者 (....)時間15年前 (2010/11/10 12:40), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
因為第一次用fmincom這個內建function找最佳解 所以不是很熟該怎麼用 我主要是有一些線性的聯立方程式+一些對於解的條件限制 我寫了code如下 function pttex138 x0=[1 2 4 2 1]; A=[0 1 -1 0 0;1 -1 0 0 0]; b=[0;0]; lb=0; ub=10; Aeq=[]; beq=[]; [x,fval] = fmincon(@xyzr,x0,A,b,Aeq,beq,lb,ub); function f = xyzr(x) f = zeros(4,1); f(1) = x(1)-x(5); f(2) = x(2)-x(4); f(3) = x(1)-x(3)-2*x(4)-3*x(5)+10; f(4) = x(2)+2*x(3)+3*x(4)+4*x(5)-20; 聯立方程式為 x1-x5=0 x2-x4=0 x1-x3-2*x4-3*x5+10=0 x2+2*x3+3*x4+4*x5-20=0 條件為 0 < x1~x5 < 10 x1-x3<0 x2-x3<0 跑了上面的code後出現了error ??? Error using ==> fmincon at 567 User supplied objective function must return a scalar value. 請問這是怎麼回事呢?? 該怎麼改程式才能找到我想要的解呢? 感激不盡m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 71.56.46.131

11/10 19:45, , 1F
fmincon是一個單目標SQP概念寫得最佳化function
11/10 19:45, 1F

11/12 02:37, , 2F
目標函數的輸出必須是一個純量[1*1],你的xyzr輸出有[4*1]
11/12 02:37, 2F

11/12 02:38, , 3F
另外,解最佳化的問題,只給定constrain是不夠的
11/12 02:38, 3F

11/12 02:40, , 4F
你必須告訴Matlab怎樣叫最佳,寫在objective function中
11/12 02:40, 4F

11/12 11:08, , 5F
請問樓上~有沒有辦法寫出符合多組數據的一組beta
11/12 11:08, 5F

11/12 11:08, , 6F
就是類似線性回歸的但是是用fmincon去寫出來
11/12 11:08, 6F
文章代碼(AID): #1CsY8wsc (MATLAB)
文章代碼(AID): #1CsY8wsc (MATLAB)