Why do I get this error?

5 visualizaciones (últimos 30 días)
Hdez
Hdez el 22 de En. de 2021
Respondida: William el 22 de En. de 2021
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

Respuestas (1)

William
William el 22 de En. de 2021
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.

Categorías

Más información sobre NaNs en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by