- Sort a, keep index for b ---
sort the in plot
21 views (last 30 days)
Show older comments
hi.
i have 2 matrix:
a = [ 1.2 6 3]
b = [ 2 4 5]
How do I plot this so that the x and y axes are arranged from less to more?
"x" axes is "a" and "y" axes is "b"
the result for plot should be like this:
x=1.2 , y=2 ------ x=3 , y=5 ----- x=6 , y=4
0 Comments
Accepted Answer
dpb
on 27 Jun 2021
Edited: dpb
on 27 Jun 2021
Many possible ways...
[a,ix]=sort(a); % sort a, keep order index, replace a with sorted vector
b=b(ix); % reorder b to match
plot(a,b) % now are in order on abscissa
2. Use array features instead of separate vectors...
ab=sortrows([a(:) b(:)],1); % combined array of a,b by column sorted by column 1 (a)
plot(ab(:,1),ab(:,1)) % plot the two columns against each other
Any number of permuations of the above are also possible to get to same result including not overwriting the original vectors, doing the sorting "on the fly" in the arguments of the call to plot() instead of making explicit variables, etc., etc., etc., ...
2 Comments
dpb
on 27 Jun 2021
See
doc sort
read about the possible return values...
It's always the place to start... :)
More Answers (0)
See Also
Categories
Find more on Shifting and Sorting Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!