how to find the row name which corresponds to a certain value in a table
조회 수: 7 (최근 30일)
이전 댓글 표시
hello i named the rows of a table as follows
MT={'A','B','C','D','E'};
the other elements in the table are [S,Rd,Ratio,doi,kd] i want to display the MT at max(s), this is the code i used
for i=1:x
kd(i)=input('perm of damaged zone: ');
doi(i)=input('depth of invasion: ');
rd(i)=doi(i)+rw';
s(i)=((ko/kd(i))-1)*(log(rd(i)/rw))';
Rd=[rd]';
S=[s]';
ji=log(re/rw);
jd(i)=log(re/rw);
jo(i)=(log(re/rw))+(s(i));
R(i)=jd(i)/jo(i);
Ratio=[R]';
table(S,Rd,Ratio,doi,kd,'RowName',MT)
댓글 수: 0
답변 (1개)
Guillaume
2016년 3월 18일
t = table(S,Rd,Ratio,doi,kd,'RowName',MT);
[~, maxrow] = max(t.S); %get row index of max
maxrowname = t.Properties.RowNames(maxrow) %get string corresponding to row index
댓글 수: 2
Guillaume
2016년 3월 18일
It means ignore this output. You don't care about the value of the max (1st output), just its position (2nd output).
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!