Error using scatteredInterpolant Sample values must be a double array.

43 visualizzazioni (ultimi 30 giorni)
Dear all,
I use griddata to interpolate one 2D data. The codes worked quite well half a year. But since today, it always showed an error "Error using scatteredInterpolant. Sample values must be a double array."
Can anyone do me a favor. Thanks a lot.
  5 Commenti
Cris LaPierre
Cris LaPierre il 27 Nov 2025 alle 3:45
I can duplicate the error if I pass string values to scatteredinterpolant.
t = linspace(3/4*pi,2*pi,5)';
x = [3*cos(t); 2*cos(t); 0.7*cos(t)];
y = [3*sin(t); 2*sin(t); 0.7*sin(t)];
v = repelem([-0.5; 1.5; 2],length(t));
F = scatteredInterpolant(num2str(x),y,v);
Error using scatteredInterpolant
The input points must be a double array.
Try adding a str2double command to the values returned by your DAQ.
Walter Roberson
Walter Roberson il 27 Nov 2025 alle 6:05
I would use class() on Xf0, Yf0 and Z0 to check that they are in fact class double.

Accedi per commentare.

Risposta accettata

Yuansen
Yuansen il 27 Nov 2025 alle 9:47
Spostato: Matt J il 27 Nov 2025 alle 14:25
thank you guys! You are all right, the DAQ in this time produced "single" type data. After I define them in "double", the problem was solved.

Più risposte (0)

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by