How to interpolate in between known data points..?

12 次查看(过去 30 天)
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.

采纳的回答

Stephen23
Stephen23 2018-6-27
编辑:Stephen23 2018-6-27
% 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:

更多回答(1 个)

KSSV
KSSV 2018-6-27
Read about interp1

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by