# Interpolation of function of 3 variables

4 ビュー (過去 30 日間)
PASUNURU SAI VINEETH 2022 年 1 月 29 日
コメント済み: _ 2022 年 1 月 29 日
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.
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);

サインインしてコメントする。

### 採用された回答

_ 2022 年 1 月 29 日
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:
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 件のコメント表示非表示 1 件の古いコメント
_ 2022 年 1 月 29 日
Yes, I believe they should be the same in that case. For more than three variables, look into griddatan().

サインインしてコメントする。

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by