store values in array in nested for loop
1 view (last 30 days)
Show older comments
Muhammad Usman
on 13 Sep 2014
Commented: Muhammad Usman
on 14 Sep 2014
ss=1;
for i = 1:2
for j = 1:5
T = norm(r2(j,:)-r1(i,5:end)); % reading 2 excel files and r2 and r1 are rows
RS(ss) = T
ss = ss + 1;
end
[r,c]=min(RS)
clearvars RS
end
end
As i run the code I got this result after 1 iteration
RS =
613.3480 566.6174 614.9722 644.0272 627.2652
r =
566.6174
c =
2
but as i=2 it displays
RS =
0 0 0 0 0 602.8387 522.1276 605.9619 535.2905 468.5696
r =
0
c =
1
I want to know the min value from RS at each iteration and i want to have
RS =
602.8387 522.1276 605.9619 535.2905 468.5696
with no zeros in my array,so that i get the correct min value. Thankx
Accepted Answer
Roger Stafford
on 13 Sep 2014
To get the correct minimum values, replace "clearvars RS" with "ss=1;".
If you want to retain a record of these two minimums and their indices, you need to store them in arrays at the end of each of the two passes in the outer for-loop.
More Answers (1)
Andrei Bobrov
on 13 Sep 2014
Edited: Andrei Bobrov
on 13 Sep 2014
[r,c] = min(squeeze(sqrt(...
sum(bsxfun(@minus,r2(1:5,:),permute(r1(1:2,5:end),[3 2 1])).^2,2))));
0 Comments
See Also
Categories
Find more on Whos in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!