Double Interpolation from a table
17 次查看(过去 30 天)
显示 更早的评论
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 个评论
KSSV
2020-10-22
It is beacuse, your points are lying outside the given grid....it comes to extrapolation and the result cannot be trusted.
采纳的回答
KSSV
2020-10-22
Vq=interp2(x,y,z',m_dot_exhaust(1),T_avg_rankine(1)) ;
2 个评论
KSSV
2020-10-22
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!