Borrar filtros
Borrar filtros

Index in position 2 exceeds array bounds (must not exceed 10)

3 visualizaciones (últimos 30 días)
Please help me debug this. I commented the line that Matlab says has error.
The error says this: Index in position 2 exceeds array bounds (must not exceed 10). I know it means my array does not match somehow but cant figure it out.
Any help is appreciated. Thanks!
for i = 1:10
if 1 == 10
ttr = 2.6366*10^(-4) * k * (lambda_w (n,i) + lambda_o (n,i))* dydz / D;
twr = 2.6366*10^(-4) * k * (lambda_w (n,i))* dydz / D;
sw (n+1,i) = (1+ (cr+cw) * (po (n+1,i) - po (n,i))) * sw (n,i) + (t_step / (VR * phi)) * ...
(-twr * (po(n+1,i) - po(n+1,i-1)) + twl * (pcow(n,i) - pcow(n,i-1)) + q(n,i));
else
ttl = ttr;
twl = twr;
ttr = 2.6366*10^(-4) * k * (lambda_w (n,i) + lambda_o (n,i))* dydz / D;
twr = 2.6366*10^(-4) * k * (lambda_w (n,i))* dydz / D;
sw (n+1,i) = (1+ (cr+cw) * (po(n+1,i) - po(n,i))) * sw (n,i) + (t_step / (VR * phi)) * ...
(twr * (po(n+1,i+1) - po(n+1,i)) - twl * (po(n+1,i) - po(n+1,i-1)) - twr * (pcow(n,i+1) - pcow(n,i)) ...
+ twl * (pcow(n,i) - pcow(n,i-1))); %%%%%%%%%%%%%% this line is the problem %%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
end

Respuestas (1)

KSSV
KSSV el 1 de Mzo. de 2019
Editada: KSSV el 1 de Mzo. de 2019
YOu should not run loop i from 1 to 10. All your arrays are size 2*10 and you are using n+1 in the code....so for i = 10, the index becomes 11 and it throws error. Try running loop from i = 1:9.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by