Re: [討論有人可以幫我解釋一下這一段的意思嗎?
※ 引述《inn226 (胖虎@!@)》之銘言:
: [p,favl,exitflag,output,lambda]=linprog(f,Aeq,beq,A,b,[],[],[],optimset('Display','iter','Algorithm','interior-point'));
: p,eqlin2=lambda.eqlin
: 請問一下這一段是有什麼意思呢?? 為什麼要打這一段
這一小段是分好幾行來看的 解說如下
[p,favl,exitflag,output,lambda]=linprog(f,Aeq,beq,A,b,[],[],[],...
optimset('Display','iter','Algorithm','interior-point'));
p,
eqlin2=lambda.eqlin
第一段 =左邊是接收計算完後的值分別由 p, favl, exitflag, output, lambda接收
=右邊是執行 linprog (linear program)的程式其中帶入參數 是前面8個
f, 目標函數
Aeq, 限制式中是等式的參數
beq, 限制式中是等式的係數
A, 限制式中是不等式的參數
b, 限制式中是不等式的係數
[], 後面這三個通常都是上下界的設定 如果沒有用到就用[],代替目的是因為後面還
要用到 optimset的設定
[],
[]
optimset的設定 不論在matlab用什麼最佳化函數去求解 optimset的設定全部都一樣語法
optimset('Display','iter','Algorithm','interior-point')
兩兩一組做解答
第一組是 'Display','iter' 顯示計算的疊代
第二組是 'Algorithm','interior-point' 使用的演算法 為內點法
演算法一般還有兩種到三種可以選擇
大概的最佳化都是這樣 至於什麼問題用什麼解法這就不是簡單可以說說的了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.240.194.141
※ 編輯: e0101010 來自: 111.240.194.141 (08/22 08:05)
推
08/22 10:25, , 1F
08/22 10:25, 1F
你講得沒錯這裡是這樣 因為他順序放錯
但為了避免誤用 正常還是必須要以下列來表示 才不會造成日後回過頭來看程式的時候
不清楚表達的內容。
Aineq Matrix for linear inequality constraints
bineq Vector for linear inequality constraints
Aeq Matrix for linear equality constraints
beq Vector for linear equality constraints
※ 編輯: e0101010 來自: 111.240.194.141 (08/22 11:20)
推
08/23 21:41, , 2F
08/23 21:41, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):