Borrar filtros
Borrar filtros

I need help with fixing the error in my for loop equation

1 visualización (últimos 30 días)
Please how do I fix the error message: Attempted to access ID(3); index out of bounds because numel(ID)=2.
I am trying to get a sum of all the iteration (H) from the code below: The error is somewhere in the formula for H but I am not able to fix it.
i= input('Number of Layers = '); % Say i=4
for n=1:i
ID(n)= input(['Layer ' , num2str(n) , ' Internal Diameter (m)= ']);
OD(n)= input(['Layer ' , num2str(n) , ' Outer Diameter (m)= ']);
k_L(n)= input(['Thermal Conductivity of Layer ' , num2str(i) , '(W/(m*K))= ']);
*H= ID(1)*sum((log(ID(n+1)/ID(n))/(2*k_L(n))))* ;
%D(1) is the innermost pipe layer which is ID at n=1
end
The formula for H is given below.

Respuesta aceptada

Image Analyst
Image Analyst el 7 de Abr. de 2015
When you're on the n'th iteration of your loop, why do you think ID(n+1) will have a value yet? You have not assigned a value to that element yet - it's the next one. You won't get the user to specify a value for it until the next iteration.
  3 comentarios
Fun Dan
Fun Dan el 8 de Abr. de 2015
Thank you very much. It worked great!
Image Analyst
Image Analyst el 8 de Abr. de 2015
You're welcome. If we're done here, then can you go ahead and mark my answer as "Accepted"?

Iniciar sesión para comentar.

Más respuestas (1)

Jos (10584)
Jos (10584) el 7 de Abr. de 2015
You want to put the formula for H out of the loop
for ..
% ask for values here
end
% summing formula here
  1 comentario
Fun Dan
Fun Dan el 7 de Abr. de 2015
Hi Jos,
I tried it that way already and it is still giving me the same error message.

Iniciar sesión para comentar.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by