Array lengths and loops.
Mostrar comentarios más antiguos
Hi,
I have a while loop set up to add a new number to the end of two arrays (postsk and weight) with every cycle of the loop. The loop runs fine, but when I then try to plot them vs. each other, I find out that the arrays are different lengths. Any idea why this is happening? Is there a limit to the number of bits in each loop? Could I be running out of memory in one loop?
The following is my code (I have removed the maths equations carried out in the while loop as I doubt those are the reason and make the code a bit easier to read).
while (bst < 63)
(this is where the ommited equations live, but essentially just figure out values for the upcoming if loop).
if (resskin >= 1 & resstif >= 1 & reseuler >= 1 & resmat >= 1)
postsk(i) = tsk;
weight(i) = (((((tsk/1000)*(bsk/1000))+((tst/1000)*(bst/1000)))*(length/1000))*1600);
i = i + 1;
end
bst = bst + 1
end
Any help would be great! Thank you!
Respuesta aceptada
Más respuestas (1)
Couple of things. It looks like you are masking both the LENGTH function and the I function with a variable. Don't do that - choose a different variable name. Second, is it possible that sometimes those mysterious variables could be returning a vector or an empty? Is one of them a cell array?
Before your call to plot, put this:
whos postsk weight
and show the output.
1 comentario
F P
el 8 de Nov. de 2012
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!