Re: [討論有人可以幫我解釋一下這一段的意思嗎?

看板MATLAB作者 (我...)時間13年前 (2012/08/22 08:05), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
在這裡他的 Aeq 是不等式喔
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
文章代碼(AID): #1GD29Bfw (MATLAB)
文章代碼(AID): #1GD29Bfw (MATLAB)