Info

This question is closed. Reopen it to edit or answer.

How can I interpolate

1 view (last 30 days)
Gustavo Caldeira
Gustavo Caldeira on 13 Jul 2017
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi everybody I'm trying to create some tools to help analyze my measurements and I need some help. Here's my problem: Sometimes I measure some variables with different frequencies for instance, 2 and 5Hz, and now I want to interpolate the variable with the least row numbers in order to make this variable with the same row numbers as the variable with the most row numbers. I want this tool to automatically "recognize" which variables have less number, interpolate them and finally assign them to original variable with the interpolated values. Any suggestions? Thanks!

Answers (1)

dbmn
dbmn on 14 Jul 2017
Try to include some of the following functions in your code
numel(x)
% This allows you to "count" the number of elements in your variable
numel(x(:,1)); numel(x(1,:))
% use that if you just want to count the number of element in a row or column vector of your data
And for the interpolation part use
x_new_short = x_long;
y_new_short = interp1(x_short, y_short, x_new_short);
So basically what you want to do is
  1. Figure out which Element is longer/shorter using numel
  2. Interpolate the shorter element to the long size using interp1
Try to write your own code and post it here, if you are still having trouble...

Community Treasure Hunt

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

Start Hunting!