Matching two columns from an imported table to find the corresponding value in the 5th column.

I have a 401 x 12 table that was imported from excel into matlab. I want a function that returns a value from the 5th column when I give two values from the first two columns.

2 Comments

You need to specify your question. Can you give an example?
Alright. Sure.
The table has headings as Temperature, Pressure, Density, Internal energy, and Enthalpy as shown below. I want a function that takes a particular temperature and pressure to return the corresponding Enthalpy. Lets say, in the function I put 360 as temperature and 175.5 as density and it returns 2608 as enthalpy.
Hope this is much clearer. Thanks

Sign in to comment.

 Accepted Answer

One method to extract what you want could be
temp=input("Insert temperature: \n"); %here you insert the parameters in the command window
%Otherwise you can do manually from the code
temp=360; %you can change it
Then you can create your function code file
function enthalpy=find_enthalpy(temp)
idx=find((Table.Temperature(:)==temp); %i called "Table" your table from excel
enthalpy=Table.Enthalpy(idx);
fprintf("The enthalpy is :",enthalpy); %not necessary
end
From your script, or directly from command window you can call the function
enthalpy=find_enthalpy(temp)
Let me know if works

5 Comments

It is not running the above function .
Error- The function find_enthalpy might be unused
New Error: Operands to the logical and (&&) and or (||) operators must be convertible to logical scalar values.
If the pressure-temperature relation is univocal you can insert only the temperature. I edited
It worked perfectly!!
You have been so helpful!
Thank you for your time.

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Design Optimization in Help Center and File Exchange

Products

Release

R2021a

Community Treasure Hunt

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

Start Hunting!