How to print the second largest of a group of the numbers

9 views (last 30 days)
Example: number : 1 2 3 4 5 6 7 8 9 10
second largest = 9

Answers (2)

Mischa Kim
Mischa Kim on 6 Oct 2014
Rodrigo, you could use
a = [1 2 3 4 5 6 7 8 9 10];
b = max(setxor(a,max(a)));

Guillaume
Guillaume on 6 Oct 2014
Edited: Guillaume on 6 Oct 2014
Another option (which also allows you to pick any nth largest number):
a = [1 2 3 4 5 6 7 8 9 10];
ua = unique(a); %will sort a and remove duplicate
b = ua(end-1); %for the 2nd largest
b = ua(end-n+1); %for the nth largest

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!