interp1 returns finite value when input is NaN
Afficher commentaires plus anciens
Dear sirs,
Consider the following two examples:
>> interp1([1 2 3 4 5], [48 47 1 1 1], NaN)
ans =
NaN
>> interp1([1 2 3 4 5], [48 48 1 1 1], NaN)
ans =
48
In the first case, it behaves as I would expect, i.e. an undefined input gives an undefined output. However in the second, the output is suddenly finite.
When trying different combinations. it seems:
If the two first "y" samples in the x/y data to interpolate are equal, then this is given as the answer as output for NaN as input. Which to me makes completely no sense at all.
3 commentaires
"Dear sirs and ladies" would sound more polite.
Please specify your Matlab version. R2009a replies NaN in both cases.
Opening interp1.m in the editor and stepping through it line by line by the debugger should reveal the cause of this strange behavior.
dpb
le 15 Nov 2016
>> interp1([1 2 3 4 5], [48 48 1 1 1], NaN)
ans =
NaN
>> interp1([1 2 3 4 5], [48 47 1 1 1], NaN)
ans =
NaN
>>
Which release?
>> version
ans =
8.0.0.783 (R2012b)
>>
Looks like a bug to me...but check release notes to see if there is some documented change (altho I'd certainly not expect this one to be intended, there have been some revisions to interp1)
KSSV
le 16 Nov 2016
It returns NaN in both of the cases. My version 2015a.
Réponses (1)
Cosmin Ionita
le 1 Fév 2018
Modifié(e) : Cosmin Ionita
le 1 Fév 2018
0 votes
This issue has been fixed in MATLAB R2017a:
Catégories
En savoir plus sur Interpolation of 2-D Selections in 3-D Grids dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!