Interpolation of function of 3 variables

11 visualizaciones (últimos 30 días)
PASUNURU SAI VINEETH
PASUNURU SAI VINEETH el 29 de En. de 2022
Comentada: Voss el 29 de En. de 2022
I have 4 variables in the problem where the last variable is the function of first three. The attached excel sheet contains the sample data. The following code throws an error when I try to interpolate. Please help me figure out the issue.
SideForceData = readmatrix("Swing_Digitization.xlsx");
SeamAngle_data=SideForceData(:,1);
spin_data=SideForceData(:,2);
vel_data=SideForceData(:,3);
Fswing_data=SideForceData(:,4);
spin=10;
vel=40;
SeamAngle=25;
Fswing = interp3(SeamAngle_data, spin_data, vel_data, Fswing_data, SeamAngle, spin, vel);
Error using griddedInterpolant
Interpolation requires at least two sample points for each grid dimension.

Error in interp3 (line 132)
F = griddedInterpolant({X, Y, Z}, V, method,extrap);

Respuesta aceptada

Voss
Voss el 29 de En. de 2022
It looks like the data in that file is insufficient for making a gridded interpolant (because there is no information about Seam Angle = 30, Spin Rate = 11.4, 14.2), so you have to use a scattered interpolant instead:
SideForceData = readmatrix("Swing_Digitization.xlsx");
SeamAngle_data=SideForceData(:,1);
spin_data=SideForceData(:,2);
vel_data=SideForceData(:,3);
Fswing_data=SideForceData(:,4);
spin=10;
vel=40;
SeamAngle=25;
% Fswing = interp3(SeamAngle_data, spin_data, vel_data, Fswing_data, SeamAngle, spin, vel);
I = scatteredInterpolant(SeamAngle_data, spin_data, vel_data, Fswing_data);
Fswing = I(SeamAngle,spin,vel);
disp(Fswing);
0.2410
  2 comentarios
PASUNURU SAI VINEETH
PASUNURU SAI VINEETH el 29 de En. de 2022
Thanks a ton! If I have sufficient data (data value for every node), will the scattered interpolant be the same as gridded interpolant?
Also, is there an inbuilt interpolation (gridded or scattered) command for more than 3 variables?
Voss
Voss el 29 de En. de 2022
Yes, I believe they should be the same in that case. For more than three variables, look into griddatan().

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by