Getting error while using interpolation function

4 visualizaciones (últimos 30 días)
R7 DR
R7 DR el 18 de Feb. de 2015
Editada: John D'Errico el 20 de Feb. de 2015
While using interpoltaion function I am getting the follwing error.
*Undefined function 'interpl' for input arguments of type 'double'.
Error in interpolation (line 16) G=interpl(a,d,x); *
I wrote the code like this
t=[1:10]
a=[0.1:0.1:1]
d=[20:30]
x=0.45
Y=interp1(a,t,x);
G=interpl(a,d,x);
The code is working for 'Y', but if I added 'G' it is showing error.
What is wrong with my code?
Thanks

Respuesta aceptada

John D'Errico
John D'Errico el 18 de Feb. de 2015
Editada: John D'Errico el 18 de Feb. de 2015
Whats wrong? That you can't type? :)
I copied a piece of the error message that you got.
c = 'interpl'
c =
interpl
upper(c)
ans =
INTERPL
See that in the second call, you typed interpl, although you meant interp1. In fact, as soon as I saw the error, I knew this is what you had done. This is one of those mistakes you make once, then immediately know what to look for in the future, but it is difficult to debug.
  4 comentarios
R7 DR
R7 DR el 18 de Feb. de 2015
Now the error message is like this
Error using griddedInterpolant The grid vectors do not define a grid of points that match the given values.
Error in interp1 (line 183)
F = griddedInterpolant(X,V,method);
Error in interpolation (line 16)
G=interp1(a,d,x);
John D'Errico
John D'Errico el 20 de Feb. de 2015
Editada: John D'Errico el 20 de Feb. de 2015
The original error you got was ABSOLUTELY due to exactly what I said it was.
While you think you typed it properly, you did not. The error message that MATLAB gave repeated the name of the function you used.
"*Undefined function 'interpl' for input arguments of type 'double'."
What looks like a 1 in the function name is indeed a lower case L. MATLAB cannot lie.
Once you typed it properly, then a second error happens. The second error happens because a and t have 10 elements, so the first call works. But then the vector d has 11 elements.
You cannot form an interpolation mapping between the vectors a and d when a and d have a different number of elements. That would make no sense, so interp1 generates the error.
Had you used
d = 21:30;
the second call to interp1 (if spelled properly) would work with no problem.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Interpolation 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