interp1 returning NaN for values <1

7 visualizaciones (últimos 30 días)
Joey
Joey el 29 de Abr. de 2014
Comentada: Star Strider el 30 de Abr. de 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!

Respuesta aceptada

Star Strider
Star Strider el 29 de Abr. de 2014
Editada: Star Strider el 29 de Abr. de 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 comentarios
Joey
Joey el 30 de Abr. de 2014
Thank you, i finally got it to work!
Star Strider
Star Strider el 30 de Abr. de 2014
My pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre NaNs en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by