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

1 view (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
Jan Lettner
Jan Lettner 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

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])

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!