Error using scatteredInterpolant Sample values must be a double array.

조회 수: 7 (최근 30일)
Yuansen
Yuansen 2025년 11월 26일
이동: Matt J 2025년 11월 27일
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
Cris LaPierre
Cris LaPierre 2025년 11월 27일
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 2025년 11월 27일
I would use class() on Xf0, Yf0 and Z0 to check that they are in fact class double.

댓글을 달려면 로그인하십시오.

채택된 답변

Yuansen
Yuansen 2025년 11월 27일
이동: Matt J 2025년 11월 27일
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.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by