Azzera filtri
Azzera filtri

How to find values in a table

11 visualizzazioni (ultimi 30 giorni)
Poseidon
Poseidon il 4 Nov 2023
Modificato: Poseidon il 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.

Risposta accettata

Walter Roberson
Walter Roberson il 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 Commenti
Walter Roberson
Walter Roberson il 5 Nov 2023
F = scatteredInterpolant(T.pressure, T.entropy, T.enthalpy);
interpolated_enthalpies = F(query_pressures(:), query_entropys(:));
Poseidon
Poseidon il 5 Nov 2023
Modificato: Poseidon il 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).

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Tag

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by