[問題]fmincon 求解問題

看板MATLAB作者 (藍海白沙)時間12年前 (2013/11/05 03:19), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
小弟正在解下面一個非線性的題目 functionA>=1-rpha functionB<=Beta n>=1 0<kN<kT 語法如下 (functionA and B太過繁複就化簡如下) 主程式...................................... x0=[100 1 1.3]; options = optimset('Display','iter','Algorithm','interior-point'); [xStr, f_xStr]=fmincon(@QSSobjfuntion,x0,[],[],[],[],[1;0;kN],[inf;kT;2],@QSSfuntion,options) 副方程式....................................... function [c,ceq]= QSSfuntion(x) global r beta paql plql (functionA and B太過繁複就化簡如下) c=[(1-r)-(PTAQL./(1-PNAQL+PTAQL));(PTLQL./(1-PNLQL+PTLQL))-beta;1-x(1)]; ceq=[]; 主程式.................................................. function f = QSSobjfuntion(x) global kN kT n=x(1); kN=x(2); kT=x(3); f=min(n); 已知正解為 xStr = 32 0.9594 1.1924 但得到解為xStr = 39.4306 0.8625 1.5095 而Matlab顯示 fmincon stopped because it exceeded the function evaluation limit, options.MaxFunEvals = 3000 (the default value). 是說內建的跌代數到極限了嗎? 還有限制式為不等式的問題不知道這樣寫是否有誤 https://www.dropbox.com/s/xaj90gtlffz1xew/QSS.zip 這是完整的語法 跪求高手解惑 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.243.121

11/05 03:21, , 1F
主要求n kN kT值 然後在FUNCTION分別用x(1)x(2)x(3)代替
11/05 03:21, 1F
※ 編輯: jajagood 來自: 118.161.248.190 (11/05 11:23) ※ 編輯: jajagood 來自: 118.161.248.190 (11/05 11:24)
文章代碼(AID): #1IT_Ctv0 (MATLAB)