I need help with fixing the error in my for loop equation
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Fun Dan
el 7 de Abr. de 2015
Comentada: Image Analyst
el 8 de Abr. de 2015
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.
0 comentarios
Respuesta aceptada
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
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"?
Más respuestas (1)
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
Ver también
Categorías
Más información sobre Matrix Indexing 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!