Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: second largest element in a matrix
Replies: 32   Last Post: May 5, 2013 10:31 AM

 Messages: [ Previous | Next ]
 mike zander Posts: 3,542 Registered: 11/29/05
Re: second largest element in a matrix
Posted: Apr 3, 2009 7:58 PM

"Paul " <pswirhun@comcast.net> wrote in message
> if temp is your vector, you can get the second largest element as follows:
>
> [c,i] = max(temp(temp~=max(temp)))
> why would you sort it?
> this is the whole point of logical addressing in matlab.

% Some Data
temp = [8 -1 0 1 2 -3 -8 0 5 -4]

% Proposed method
[c,i] = max(temp(temp~=max(temp)));

% As a check:
[srt,idx] = sort(temp,'descend');
idx2 = find(srt~=srt(1),1);
secondhighest = srt(idx2);
location = idx(idx2);

% isequal?
[secondhighest==c,location==i]

Date Subject Author
9/18/08 Oluwa KuIse
9/19/08 stephanie
9/19/08 Steven Lord
9/19/08 Oluwa KuIse
9/19/08 Pekka
9/19/08 Oluwa KuIse
9/21/08 Greg Heath
9/24/08 Walter Roberson
3/4/09 Justin
4/6/09 Bruno Luong
4/6/09 Jos
4/6/09 Bruno Luong
4/6/09 Bruno Luong
4/6/09 mike zander
4/7/09 Bruno Luong
4/7/09 Bruno Luong
4/3/09 Paul
11/7/12 sssbi2009@gmail.com
11/19/12 dpb
4/3/09 Paul
4/3/09 mike zander
4/3/09 mike zander
4/3/09 mike zander
4/3/09 Walter Roberson
4/3/09 mike zander
5/4/13 tilindg1@gmail.com
5/4/13 Nasser Abbasi
5/4/13 dpb
5/5/13 Nasser Abbasi
5/5/13 dpb
5/5/13 Bruno Luong
5/5/13 Nasser Abbasi
5/5/13 Bruno Luong