sorting the values of a vector into a new one by its elements size

2 views (last 30 days)
Hey all
I made some measurements. Between these values, I interpolated. Now, I want to merge both vectors into one but withouth changing the order. Just copy in the new interpolated values into the intervalls of the measured values.
Is there a predefined function from matlab or do I have to write it myself?
Thanks in advance
  2 Comments
MagJ_
MagJ_ on 29 Nov 2018
Alright, sorry:
Say I have a vector
x=[1,5,7,9]
Now, I interpolated between these values and I get a new vector with
y=[0.5,1.5,2,2.5,3,3.5,4...]
and some more values which I left away for now. I don't know wether this is real linear interpolation. I should think about it but it did not matter atm.
Well, now I want to merge both vectors like this:
xnew=[0.5,1,1.5,2,2.5,3,3.5,4...,5,7,9]
Values shall get sorted into the vector by it's values basically.
I hope you understand my problem now. I fear that it is very simple but I don't see it yet.

Sign in to comment.

Accepted Answer

Luna
Luna on 29 Nov 2018
Try this,
xnew = sort(horzcat(y,x)) % concatane vectors then sort all
%% OR
xnew = horzcat(sort(y),sort(x)) % sort x, sort y seperately then concatanate
  3 Comments
MagJ_
MagJ_ on 5 Dec 2018
Thanks for this answer. And please apologize my late response.

Sign in to comment.

More Answers (1)

madhan ravi
madhan ravi on 29 Nov 2018
Edited: madhan ravi on 29 Nov 2018
Simple and easy solution:
xnew=sort([x y])

Categories

Find more on Shifting and Sorting Matrices 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!