interp1 returning NaN for values <1

7 vues (au cours des 30 derniers jours)
Joey
Joey le 29 Avr 2014
Commenté : Star Strider le 30 Avr 2014
Hey all,
I have a function that I am using as part of another program, and it relies on interp1, however, my interp1 function is not returning a mix of NaNs and numbers. Here is my code:
function [T] = thrust(t);
thrust_time = xlsread('rocketdata.xlsx')
e = length(thrust_time)
time_reduced = thrust_time((1:e),2);
thrust_reduced = thrust_time((1:e),1);
A = interp1(time_reduced,thrust_reduced)
T = A(t)
end
where the XLS file has 2 columns of 153 rows. The first column is Thrust, and the second column is time. All values are positive, but the first ~25 and last ~25 thrust values are decimals less than 1 but greater than zero, which return NaN. All thrust values greater than 1 return actual numbers.
Can anyone please tell me what I am doing wrong? Thank you!

Réponse acceptée

Star Strider
Star Strider le 29 Avr 2014
Modifié(e) : Star Strider le 29 Avr 2014
I don’t know what the contents and ranges of time_reduced and thrust_reduced are. I suspect you may be asking interp1 to interpolate values not within the range of the data, but that’s only a guess. You will need to specify a third argument to interp1 if you want it to interpolate values for thrust_reduced at new times for time_reduced.
From the documentation on interp1:
vq = interp1(v,xq) returns interpolated values and assumes a default set of sample point coordinates. The default points are the sequence of numbers from 1 to n, where n depends on the shape of v:
  • When v is a vector, the default points are 1:length(v) .
  • When v is an array, the default points are 1:size(v,1) .
Use this syntax when you are not concerned about the absolute distances between points.
  2 commentaires
Joey
Joey le 30 Avr 2014
Thank you, i finally got it to work!
Star Strider
Star Strider le 30 Avr 2014
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur NaNs dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by