How to interpolate in between known data points..?

I have data at starting and the ending and I want to interpolate the data in between. Can any one suggest me best method to do it. for example:
Y = peaks(100);
y = Y(50,:);
y(40:50) = 0;
figure();subplot(1,2,1);plot(x,y,'b');title('available data');ylabel('y');
hold on; plot(x,Y(50,:),'b.');legend('available','expected');
subplot(1,2,2);plot(x,Y(50,:),'b');ylabel('Y');title('expected');
dots in first plot of the above (or second plot) is expected and thick line indicates the available data. I want to interpolate in between using the data x<40 and x>50.

 Respuesta aceptada

Stephen23
Stephen23 el 27 de Jun. de 2018
Editada: Stephen23 el 27 de Jun. de 2018
% Data:
Y = peaks(100);
x = 1:size(Y,2);
y = Y(50,:);
y(40:50) = 0;
% Interpolate zeros:
idx = y~=0;
yn = interp1(x(idx),y(idx),x,'spline');
plot(x,y,x,yn)
legend('missing','interpolated')
Giving:

Más respuestas (1)

Etiquetas

Preguntada:

el 27 de Jun. de 2018

Editada:

el 27 de Jun. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by