Why do I get this error?

5 次查看(过去 30 天)
Hdez
Hdez 2021-1-22
回答: William 2021-1-22
Index in position 2 is invalid. Array indices must be positive integers or logical values.
Error in Code2 (line 61)
T2(i,j)= (T1(i-1,j)+ T1(i-1,j)+T1(i,j+1)+T1(i,j-1)-(4-1/fo)*T1(i,j))*fo

回答(1 个)

William
William 2021-1-22
One of the first two terms on the right should have an i+1 rather than i-1, but this is undoubtedly not the problem that caused the error message. The code will probably work for most values of i and j, but it has problems at the borders of the array T1(). For example, for i=1, the first term evaluates to T1(0,j), and you can't have a subscript of zero. Likewise, at the maximum value imax of i, the subscripts should evaluation to T1(imax+1,j), and this will be out of bounds for the array. The same applies to the bordering values for j. So, in this type of expression, you have to treat the edges of the arrays separately.

类别

Help CenterFile Exchange 中查找有关 NaNs 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by