Comparing elements of a vector.
3 views (last 30 days)
Show older comments
I have two vectors named R and T, where elements in R keep on increasing and finally reaches a steady state value.
Let's say T = [1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21] and R = [1;2;3;4;5;6;7;8;9;10;10;10;11;12;12;12;12;12;13;13;13].
I intend to get g(:,1) = [1;2;3;4;5;6;7;8;9;10;13;14;19] and g(:,2) = [1;2;3;4;5;6;7;8;9;10;11;12;13]. But I am getting all the values in g. Could you please help me out with this.
Thanks and Regards.
L = length(R);
for h = 1:1:L-1
dffrad = R(h+1)-R(h);
dfftime= T(h+1)-T(h);
if (dffrad~=0 && dffrad>0)
g = [g; T(h+1) R(h+1)];
end
end
3 Comments
Shubham Gupta
on 10 Oct 2019
I am glad I could help. Also, you might wanna look at @the_cyclist 's answer for better performance.
Answers (1)
the cyclist
on 10 Oct 2019
[g(:,2), idx] = unique(R);
g(:,1) = T(idx);
3 Comments
the cyclist
on 10 Oct 2019
You are correct.
But the original question explicitly stated that R is increasing, so I assumed that that was OK.
See Also
Categories
Find more on Introduction to Installation and Licensing 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!