How to find "maximum" value in a table
120 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Lal
am 5 Jun. 2018
Kommentiert: Peter Perkins
am 7 Jun. 2018
How to find "maximum" value in a table and to extract the other data's based on maximum value (i.e maximum value row):
I have a table with 6 columns as shown below
Calcul = table;
Calcul.Element = cell2mat(raw(:, 1));
Calcul.Tau = cell2mat(raw(:, 2));
Calcul.Pressure = cell2mat(raw(:, 3));
Calcul.VMStress = cell2mat(raw(:, 4));
Calcul.SPmax = cell2mat(raw(:, 5));
Calcul.SPmin = cell2mat(raw(:, 6));
I need to find a maximum value/cell of a particular column and to extract all the data from these 6 columns (i.e row of a particular cell) as attached in the image.
Please help me
Thanks in advance
4 Kommentare
Peter Perkins
am 7 Jun. 2018
Stephen's comment was just that you have six lines to create six table variables, and because each of those six references a column in the same cell array, you could replace all those with one call to cell2table.
Akzeptierte Antwort
Razvan Carbunescu
am 5 Jun. 2018
Can accomplish this easier with indexing
>> T = readtable('test1.txt');
>> [~,maxidx] = max(T.SPmin);
>> T(maxidx,:)
ans =
1×6 table
Element Tau Pressure VMStress SPmax SPmin
_______ ______ ________ ________ ______ ______
54281 2.5304 -3.6719 4.479 6.5101 1.4493
2 Kommentare
Razvan Carbunescu
am 5 Jun. 2018
The second line computes the max of T.SPMin and stores the position where that max is found in maxidx. Then via table indexing on the 3rd line can find the result.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Cell Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!