Borrar filtros
Borrar filtros

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

3 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)

Community Treasure Hunt

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

Start Hunting!

Translated by