[討論]這個bug求解

看板MATLAB作者 (小劉)時間9年前 (2016/04/20 02:33), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
程式碼如下: r=3 a=3 O1 = ones(1, a); AraPatient = ones(1,r*a); for b= 1:2:(2*r-1) for p =1:a:r*a AraPatient(p) = (b-r)*O1(p); end end AraPatient 我希望在這裡AraPatient的結果是 [-2 -2 -2 0 0 0 2 2 2] 可是按下去之後的訊息是 Attempted to access O1(4); index out of bounds because numel(O1)=3. 這要怎麼改? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.54.170 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1461090783.A.14B.html

04/20 09:38, , 1F
p是1,4,7 O1長度只有3
04/20 09:38, 1F

04/20 20:33, , 2F
可是我本來就希望長度是3阿
04/20 20:33, 2F

04/20 20:35, , 3F
所以去處理O1的標記阿= =
04/20 20:35, 3F

04/20 20:36, , 4F
你都知道錯誤的原因了,那應該不難改吧
04/20 20:36, 4F

04/20 20:36, , 5F
例如改成 O1((p-1)/3+1)
04/20 20:36, 5F

04/20 20:49, , 6F
喔喔我了解了
04/20 20:49, 6F

04/20 21:46, , 7F
O1都是1,所以?
04/20 21:46, 7F

04/21 03:16, , 8F
已解決 謝啦
04/21 03:16, 8F
文章代碼(AID): #1N5ddV5B (MATLAB)
文章代碼(AID): #1N5ddV5B (MATLAB)