[討論]這個bug求解

作者: ljuyentintho (小劉)   2016-04-20 02:33:01
程式碼如下:
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.
這要怎麼改?
謝謝
作者: celestialgod (天)   2016-04-20 09:38:00
p是1,4,7 O1長度只有3
作者: ljuyentintho (小劉)   2016-04-20 20:33:00
可是我本來就希望長度是3阿
作者: celestialgod (天)   2016-04-20 20:35:00
所以去處理O1的標記阿= =
作者: sin55688 (單手挑藏獒)   2016-04-20 20:36:00
你都知道錯誤的原因了,那應該不難改吧
作者: celestialgod (天)   2016-04-20 20:36:00
例如改成 O1((p-1)/3+1)
作者: ljuyentintho (小劉)   2016-04-20 20:49:00
喔喔我了解了
作者: sunev (Veritas)   2016-04-20 21:46:00
O1都是1,所以?
作者: ljuyentintho (小劉)   2016-04-21 03:16:00
已解決 謝啦

Links booklink

Contact Us: admin [ a t ] ucptt.com