[問題] linear progrmming已回收

看板MATLAB作者 (平衡給予的自由)時間15年前 (2010/05/10 17:11), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
我想請教 我想利用一個迴圈執行linear programming 的 計算 50次 (想取得平均結果) 但是會跳出 "Attempted to access S1111(1,1); index out of bounds because size(S1111)=[0,0]" S1111 是我linear programming 的解 但當迴圈執行的次數不是那麼多時 (例如 10次) 就不會跳出這一行字 想請問是否我的linear programming function 參數設定有問題 S1111=linprog(F1,AA1,DELR1,[],[]) 我是要 min (F1*S1111), constrained to AA1*x 小於等於 DELR1 問題有點凌亂 謝謝解答! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.13.65

05/10 18:05, , 1F
應該是無解時產生的錯誤
05/10 18:05, 1F

05/10 21:34, , 2F
所以迴圈次數不能一次設太多嗎? 我該怎麼避免這個問題, 謝謝了
05/10 21:34, 2F

05/10 22:23, , 3F
不要帶無解的constraints,或是讓size(S1111)在無解時
05/10 22:23, 3F

05/10 22:23, , 4F
跟有解時相同
05/10 22:23, 4F

05/10 22:59, , 5F
我後來改用simlp函數就沒有問題, simlp 跟 linprog 差在哪邊?
05/10 22:59, 5F

05/11 01:08, , 6F
用isempty判斷有沒有解 沒有解就存0 全部算完後
05/11 01:08, 6F

05/11 01:09, , 7F
利用data(data==0)=[];把0的去掉 再計算平均
05/11 01:09, 7F
文章代碼(AID): #1BvytEt3 (MATLAB)