Interpolation on tables using matlab
Show older comments
Hello, I am solving several probems in Thermodynamics and one of my most time consuming things solving problems is the interpolation.
That not exactly the same as an interpolation on a plot, so thats why Im writing a new post.
I had my exam and succeed in MatLab last week but was a short tour of 15 hours so Im still new at this! :)
So the thing is I have a table giving several temperatures and for the given temperatures I have columns next to them giving the related energy, enthalpy and entropy.
So if I have temperature that is not given on the table I have to do an interpolation for the temperature I need, so I was thinking about a function that could read the 3 temperatures as x1 x2 x3 then read the 2 energys lets say as y1 y3 and I will need to calculate the y2 which is what Im looking for.
The equation Im using on my calculator looks like y2={[(x2-x1)/(x3-x1)]*(y3-y1)}+y1
I know is simple but Im just too short on time and cant get it to work :(
Answers (1)
Cris LaPierre
on 13 Dec 2020
1 vote
If you are using MATLAB, just use the interp1 function. Just be sure to follow the expected syntax, described in the linked documentation page.
7 Comments
ORESTIS KOKKINOS
on 13 Dec 2020
Syntax splits the knowns and unknowns.
% known x,y values
x = [1 3];
y = [2 6];
% Interporate to find y when x=2.
xq = 2;
yq = interp1(x,y,xq)
% Just to check, plot results
plot(x,y)
hold on
plot(xq,yq,'ro')
ORESTIS KOKKINOS
on 13 Dec 2020
You could write your own function to do whatever you want.
Not sure what is making this so slow for you. I would argue that interp1 also takes 5 values and calculates a 6th.
yq = interp1([1 3],[2 6],2)
ORESTIS KOKKINOS
on 13 Dec 2020
Edited: ORESTIS KOKKINOS
on 13 Dec 2020
Cris LaPierre
on 13 Dec 2020
Like I said, you can write a similar function in MATLAB if you are particular about the calling syntax. You could write that same function in 3 lines in MATLAB. If that's what you prefer, see this documentation page on how to create a function.
ORESTIS KOKKINOS
on 13 Dec 2020
Categories
Find more on Downloads in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!