[問題] 請問有關矩陣的index已回收

看板MATLAB作者 (嚕啦啦)時間16年前 (2008/09/21 15:23), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
我的程式碼如下: h = 0.1; V1(0.5*10) = Vd; for x = 0.5 : -h : h y = 10 * x; z = y - 10 * h; V1(z) = h^2 * ( (2 + 1 * 1) * V1(y) + 1 * 1 ) / 2 ; %%主要程式 end 我的目的是要將主要程式計算出來,然後依序放到矩陣內, 但是不知道為什麼,當程式執行到 y = 2 , z = 1 的時候, 會出現下面這樣的錯誤訊息: ??? Attempted to access V1(2); index must be a positive integer or logical. 我嘗試執行 V1(y)和 V1(z),程式會給我同樣的錯誤訊息, 但如果執行 V1(2)和 V1(1) 就可以正常執行, 請問這樣是代表哪邊出錯了呢? 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.23.134

09/21 15:49, , 1F
Z會等於零是不行的
09/21 15:49, 1F

09/21 16:48, , 2F
不過就算是改成 for x = 0.5 : -h : (2*h)
09/21 16:48, 2F

09/21 16:48, , 3F
還是會出現同樣訊息耶!
09/21 16:48, 3F

09/21 18:36, , 4F
因為 y,z 有可能不為整數 最好不要把計算過的答案放進索引
09/21 18:36, 4F

09/21 18:39, , 5F
語法上容易出錯 確定 y,z 為整數型態會比較保險
09/21 18:39, 5F

09/21 18:45, , 6F
11758和你的問題有點類似 和索引無關主要是整數認定的問題
09/21 18:45, 6F
文章代碼(AID): #18rVPkWH (MATLAB)
文章代碼(AID): #18rVPkWH (MATLAB)