How to concatenate or save iteration from a loop when the answers are vectors?

2 visualizaciones (últimos 30 días)
I'm very new to MatLab and need some help with saving iterations from a loop. I know that when the answers from a loop are scalar, you can make an array of answers. However, is there any way to do this when the answers from your loop are a vector? Here is my code:
Curve = input('What is your data: ' );
plot (Curve(1,1:end))
n = 0;
while n < size(Curve,1)
n = n+1;
TS(n) = max(Curve(n,:));
end
% Yield Point
k = 0;
while k < size(Curve,1)
k = k+1;
[obs,YP_1] = findpeaks(Curve(k,:));%in MatLab 2013b
c = (length(YP_1)-1);
Y_P(k) = YP_1(c)+1;
end
% Elasticity
b = 0;
a = 0;
while b < size(Curve,1)
b = b+1;
YP(b) = Curve(b,Y_P)
end
Since Y_P is a vector, I am getting my answer for YP as a vector which is what I want. But each vector gets overwritten with the next iteration and I need all the data saved. I would really appreciate the help! Thank you!
  2 comentarios
Image Analyst
Image Analyst el 1 de Dic. de 2014
Can you give an example for data that is supposed to be inputted for "Curve"?
Priti Dhiman
Priti Dhiman el 1 de Dic. de 2014
I'm currently working with a 18x3509 matrix which is actually a concatenation of two matrices of different dimensions.

Iniciar sesión para comentar.

Respuesta aceptada

Mohammad Abouali
Mohammad Abouali el 1 de Dic. de 2014
Editada: Mohammad Abouali el 1 de Dic. de 2014
add an extra dimension
So instead of
Answer(i)= ....
write
Answer(i,j)= ....
where j is the loop index.
If the size is changing between each loop iteration you can also use cell arrays.
NOTE: Your code is all jammed up I can't really see what is what. Try to use "{} Code" when posting so your code is readable.
  4 comentarios
Priti Dhiman
Priti Dhiman el 1 de Dic. de 2014
Thank you, thank you, thank you! Amazing answer, I truly appreciate your help!
Mohammad Abouali
Mohammad Abouali el 1 de Dic. de 2014
Editada: Mohammad Abouali el 1 de Dic. de 2014
you are welcome.
One note: actually k < size(Curve,1) was not ignoring the last row. That was correct (my mistake). So make sure that you use for k=1:size(Curve,1) every where to process all rows.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical 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