Filter löschen
Filter löschen

How to find values in a table

11 Ansichten (letzte 30 Tage)
Poseidon
Poseidon am 4 Nov. 2023
Bearbeitet: Poseidon am 5 Nov. 2023
Hi,
I have a question, lets say I have a table like this
In matlab I want to find/call a value in column 3 corresponding to say 100 in first column. Not only that, but I also want to use values not in the table (say for 95 in the first column) using linear interpolation. I want to be able to do this using any of the columns. How can I achieve this in MATLAB? Please help.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 4 Nov. 2023
%let your table be named T
column_with_key = 1;
column_to_examine = 3;
value_to_lookfor = 100;
value_to_extrapolate = 95;
mask = T.(column_with_key) == value_to_lookfor;
wanted_value1 = T.(column_to_examine)(mask)
wanted_value2 = interp1(T.(column_with_key), T.(column_to_examine), value_to_extrapolate)
In practice it is usually shorter than this, such as just
wanted_value = interp1(T.var1, T.var3, 95)
  6 Kommentare
Walter Roberson
Walter Roberson am 5 Nov. 2023
F = scatteredInterpolant(T.pressure, T.entropy, T.enthalpy);
interpolated_enthalpies = F(query_pressures(:), query_entropys(:));
Poseidon
Poseidon am 5 Nov. 2023
Bearbeitet: Poseidon am 5 Nov. 2023
Thank you! This worked. But I think I have to use the previous answer (the subset) because for some cases its giving a wrong answer (like finding the enthalpy using entropy for a pressure).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by