Double Interpolation from a table

11 views (last 30 days)
I'm trying to interpolate off the table attached.
E = xlsread('Exhaust_Cp.xlsx')
m_dot_exhaust =[0.0168758667758187 0.0168286355030812 0.0168280643029830 0.0163466175171450]
T_avg_rankine =[871.065000000000 974.025000000000 1115.12700000000 1304.31600000000]
[x,y]=meshgrid(E(2:end,1),E(1,2:end))
z=[E(2:end,2:end)]
Vq=interp2(x,y,z,m_dot_exhaust(1),T_avg_rankine(1))
But I keep getting this error. Can anyone tell me how to resolve this?
Error using griddedInterpolant
The sample points arrays must have the same size as the sample values array.
  4 Comments
KSSV
KSSV on 22 Oct 2020
It is beacuse, your points are lying outside the given grid....it comes to extrapolation and the result cannot be trusted.
Karthik Agnihotri
Karthik Agnihotri on 22 Oct 2020
Ok..how would you propose I go about interpolating any data from this table if I know the temperature and mass flow? Given that I have a new data set for mass flow rate. Please let me know if you have any suggestions. Thanks

Sign in to comment.

Accepted Answer

KSSV
KSSV on 22 Oct 2020
Vq=interp2(x,y,z',m_dot_exhaust(1),T_avg_rankine(1)) ;
  2 Comments
KSSV
KSSV on 22 Oct 2020
m_dot_exhaust =[0.0168758667758187 0.0168286355030812 0.0168280643029830 0.0163466175171450];
T_avg_rankine =[871.065000000000 974.025000000000 1115.12700000000 1304.31600000000];
[x,y]=meshgrid(E(2:end,1),E(1,2:end));
z=[E(2:end,2:end)];
Vq=interp2(X,Y,z',T_avg_rankine,m_dot_exhaust*1000)
From your given points T_avg_rankine is x-axis and m_dot_exhaust is y-axis. Check your units......if I multiply this by 1000, the points very much lie in the grid.
Karthik Agnihotri
Karthik Agnihotri on 22 Oct 2020
Thanks for the help! I'll look into the data collected again

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!