How to find "maximum" value in a table

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 个评论

Wouldn't that be easier with cell2table ?
Lal
Lal 2018-6-5
编辑:Lal 2018-6-5
I used "import data". Let me know if I can do in a easy way. Thanks for your reply
VM_max = max(Calcul.VMStress);
VM_max
This is giving maximum of 4th column. How do I extract the row (VM_max) ?
Thanks in advance
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.

请先登录,再进行评论。

 采纳的回答

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 个评论

Lal
Lal 2018-6-5
编辑:Lal 2018-6-5
Thank you for your answer. Could you please explain me how the code is working?
Thank you
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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Tables 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by