[討論] for 迴圈的 index 值已回收

看板MATLAB作者 (lantis)時間15年前 (2011/04/05 05:13), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
for(i=0;i<=M1;i++){ for(j=0;j<=M2;j++){ k=i*M2+j; v[k]=W[i][j]; } } //======================== 以上c 語言轉化成 matlab 語言 (內容把w 二維矩陣轉成v 的一維矩陣) //========================= for i=0 :M1 for j=0:M2 k=i*M2+j w(k)=BW(i,j) end end 轉過之後應該是這個樣子 但卻產生錯誤 ??? Attempted to access BW(0,0); index must be a positive integer or logical. //============ 之後把程式改成這樣 for i=1 :M1 for j=1:M2 k=i*M2+j w(k)=BW(i,j); end end 就可以正確跑了 //================= 為什麼 把i 跟j 的值改成1 的話就可以正常跑了 陣列不是叢0開始算起 以上有點迷糊想看看各位大大意見 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.69.80

04/05 07:21, , 1F
先找本matlab基本的書看一下吧,matlab的index是從1開始
04/05 07:21, 1F

04/05 10:33, , 2F
同錯誤訊息所示 index值只能放正整數或邏輯矩陣 所以從1開始
04/05 10:33, 2F
文章代碼(AID): #1DcZHsFy (MATLAB)