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

2 vues (au cours des 30 derniers jours)
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 commentaires
Image Analyst
Image Analyst le 1 Déc 2014
Can you give an example for data that is supposed to be inputted for "Curve"?
Priti Dhiman
Priti Dhiman le 1 Déc 2014
I'm currently working with a 18x3509 matrix which is actually a concatenation of two matrices of different dimensions.

Connectez-vous pour commenter.

Réponse acceptée

Mohammad Abouali
Mohammad Abouali le 1 Déc 2014
Modifié(e) : Mohammad Abouali le 1 Déc 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 commentaires
Priti Dhiman
Priti Dhiman le 1 Déc 2014
Thank you, thank you, thank you! Amazing answer, I truly appreciate your help!
Mohammad Abouali
Mohammad Abouali le 1 Déc 2014
Modifié(e) : Mohammad Abouali le 1 Déc 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by