Array Mode Max Find
조회 수: 1 (최근 30일)
이전 댓글 표시
I need to consider the case in which the maximum is a mode.
With
A = [1 1 1 1 6 7 7 1 1 3 5 6 7 7 1 1 3 5 6 7 7 1 1 3 5 6 7 7];
I need to get the indices for the max, which I have tried and it worked but suppose I have repeated minimum and for some reason it gives me more indices than needed.
So as I said, so oink should be returning:
6 13 20 27
but instead I get
1 6 8 13 15 20 22 27
[m,f,c] = mode(A); Tmode = max(c{1})
Tmax = max(A); if Tmax == Tmode
oink = find(diff(A)==0); % <----- the problem occurs here
test_idx = [1;oink];
else
label = [find(A==max(A))];
test_idx = [1;label];
end
The last condition doesn't pose a problem, it's the first. The problem would arise if I have both two repeated min and max. find(diff(A)==0) would return both. Is there a way around this?
Now suppose I have a vector with distinct elements A = [ 1 2 3 4 5 6]
c would return as the entire array. This is not what I want.
It would fail from :
[m,f,c] = mode(A);
Tmode = max(c{1})
If I had just taken Tmode = mode(A) then it would work but not progress to the first case.
Any advice?
댓글 수: 3
Jan
2013년 3월 18일
Here you see the next problem, Anthony: There is a bunch of comments and it is not clear where to search. Therefore it is recommended, to write all useful information to the original question by editing it. Marking the additions by "[EDITED]" let others know, where new informations are added.
채택된 답변
Jan
2013년 3월 14일
I'm not sure if I understand the question. Are you looking for:
A = [1 1 3 5 6 7 7];
[value, index] = max(A)
?
댓글 수: 8
Jan
2013년 3월 18일
편집: Jan
2013년 3월 18일
I still do not get what you are searching for. Are you looking for the most frequent element, and when there are multiple of them you want the largest one? Or does the order of elements matter? I assume one single sentence would clarify the question immediately. And please add this by editing the original question, such that other reader do not have to dig in a pile of comments. Thanks.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!