Save values in a loop in a vector
古いコメントを表示
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
回答 (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 件のコメント
mbonus
2016 年 9 月 8 日
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
2016 年 9 月 8 日
What is the size of d? I may have messed up with the zeros(), try
zeros(size(d))
Daniel
2016 年 9 月 8 日
mbonus
2016 年 9 月 8 日
I messed up with zeros(). does the corrected version work?
Daniel
2016 年 9 月 9 日
Daniel
2016 年 9 月 9 日
Daniel
2016 年 9 月 9 日
mbonus
2016 年 9 月 12 日
Could post an example of what you get and what it should look like?
Thorsten
2016 年 9 月 9 日
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 件のコメント
Daniel
2016 年 9 月 9 日
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).
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!