generate vector from fixed point

1 view (last 30 days)
matteo avanzi
matteo avanzi on 30 Nov 2017
Answered: Jos (10584) on 30 Nov 2017
I have a 1x35 array, i want to generate a vector 1x31822 interpolating from the 35 points of the first vector, in a way that the two vectors could have the same shape.
which is the best method?
thanks
  2 Comments
Jos (10584)
Jos (10584) on 30 Nov 2017
what do you mean by "have the same shape"? Can you give a small example?
matteo avanzi
matteo avanzi on 30 Nov 2017
yes, the first array represent a kind of parabola with 35 points, i want to create a vector using this 35 points as keypoints; for example between the 1st and 2nd there must be around 909 points(31822/35) that interpolate the 1st and 2nd points. and so on for every point.
hope that it's better
thanks

Sign in to comment.

Accepted Answer

KSSV
KSSV on 30 Nov 2017
Read about interp1.
th = linspace(0,2*pi,35) ;
y = sin(th) ;
figure
hold on
plot(th,y,'.r')
%%interpolation
thi = linspace(min(th),max(th),31822) ;
yi = interp1(th,y,thi) ;
plot(thi,yi,'b') ;

More Answers (1)

Jos (10584)
Jos (10584) on 30 Nov 2017
interp1 is your friend. An example:
x = [0 4 7 10]
y = (x-5).^2
xx = linspace(0,10,13)
yy0 = interp1(x,y,xx) % default: linear interpolation
yy1 = interp1(x,y,xx,'pchip')
plot(xx,yy0,'r-',xx,yy1,'g-', x,y,'bo')

Categories

Find more on Interpolation 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!