How to write a function to find a value from a table.
1 次查看(过去 30 天)
显示 更早的评论
I have a table that looks like this https://www.ohio.edu/mechanical/thermo/property_tables/air/air_Cp_Cv.html. I need to write a function with temperature as the input and the other three points of data as the output, but I am unsure of how to set up the code? How do I write a code that also interpolates if the temperature value is between two points of known data? I am very very new to matlab and am not at all sure how to even start. Any help would be greatly appreciated. Thank you in advance!
2 个评论
Image Analyst
2016-7-17
Is it a table, or a matrix of doubles? They're different and handled differently (look up table in the help if you don't understand why). Make it easy for us to help you by giving us code to generate the table variable, or matrix of doubles.
采纳的回答
Star Strider
2016-7-17
I would use the interp1 function.
You can easily make a function from it:
M = [ 250 1.003 0.716 1.401
300 1.005 0.718 1.400
350 1.008 0.721 1.398
400 1.013 0.726 1.395];
CpCvk = @(TK) interp1(M(:,1), M(:,2:4), TK, 'linear', 'extrap');
T325 = CpCvk(325)
T325 =
1.0065 0.7195 1.399
2 个评论
Star Strider
2016-7-18
My pleasure!
I didn’t plot the table, so see if an interpolation method other than 'linear' (such has 'pchip') might be more appropriate.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!