Save values in a loop in a vector
Mostrar comentarios más antiguos
Hi !
I would need some help for my home assignment cause im stucked. I need to iterate thru a vector and look for some values that are equal to 1.00, 0.80, 0.60, 0.40, 0.20 and 0.10. Then i need to store those values in another vector, how do i do this? Below u see the code for plotting those but i need to save them all in a vector so that i can make a nice table!
for i=1:size(d)
if d(i)==1.00000
disp(h(i))
elseif d(i)==0.80000
disp(h(i))
elseif d(i)==0.60000
disp(h(i))
elseif d(i)==0.40000
disp(h(i))
elseif d(i)==0.20000
disp(h(i))
elseif d(i)==0.10000
disp(h(i))
end
end
Respuestas (2)
before the loop
v = zeros(size(d));
then just insert this line for each part of the if structure
v(i) = d(i);
If you need to get rid of the indexes with no values you can do this after the loop
v(find(0)) = [];
9 comentarios
mbonus
el 8 de Sept. de 2016
a faster way to code though would be to recreate the loop and write it once rather than in the if structure if all of d meets the criteria.
Daniel
el 8 de Sept. de 2016
What is the size of d? I may have messed up with the zeros(), try
zeros(size(d))
Daniel
el 8 de Sept. de 2016
mbonus
el 8 de Sept. de 2016
I messed up with zeros(). does the corrected version work?
Daniel
el 9 de Sept. de 2016
Daniel
el 9 de Sept. de 2016
Daniel
el 9 de Sept. de 2016
mbonus
el 12 de Sept. de 2016
Could post an example of what you get and what it should look like?
Thorsten
el 9 de Sept. de 2016
I found it a bit hard to understand what your are looking for. As far as I understood, this can solve your problem:
p = [1.00, 0.80, 0.60, 0.40, 0.20, 0.10];
for i = 1:numel(p) % for all values in p
Z{i} = z(h == p(i)); % find all positions in h that equal p(i), and assign the corresponding positions in z to a new variable Z
end
2 comentarios
Daniel
el 9 de Sept. de 2016
Z = z(d==41)
In my code above d == h and p(i) == 41. Because there can be, depending on your data, in principle one, two, or even more matches for d== 41, you have to store one, or two, etc values in Z, i.e., a different number of values for each i. That's why I use Z{i}. If you can guarantee that there is always one and only one match for each i, you can use Z(i).
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!