4.0

4.0 | 2 ratings Rate this file 11 Downloads (last 30 days) File Size: 6.22 KB File ID: #8568

A C-mex Function to find N largest number in a Matrix

by

 

27 Sep 2005 (Updated )

A c-mex function to find N largest number in a matrix.

| Watch this File

File Information
Description

This is a C-Mex Fucntion to find n largest number in a matrix.

>> x=randperm(20);
>> nmax(x,5)

ans =

    20 19 18 17 16

>> nthmax(x,5)

ans =

    16

MATLAB release MATLAB 6.5.1 (R13SP1)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (6)
29 Jun 2006 Giovani Tonel  
04 Jun 2006 bainhome webID

support my friend£¡

22 May 2006 Rudran Rudran  
04 Oct 2005 Changshun Deng

>> x=rand(1000,10000);

>> tic;y = sort(x) ; y(end-10);toc

elapsed_time =

17.8590

>> tic;nmax(x,10);toc

elapsed_time =

3.7350

04 Oct 2005 Changshun Deng

i don't know if run my program.
just compare these results:

>> tic;nmax(x,1);toc

elapsed_time =

0.2030

>> tic;max(x);toc

elapsed_time =

1.3910

>> x=rand(1000,10000);
>> tic;nmax(x,10);toc

elapsed_time =

10.1880

>> tic;y = sort(x) ; y(end-10);toc

elapsed_time =

29.4380

28 Sep 2005 Jos x

Same as
b = sort(a) ; b(end-N)
or
b = unique(a) ; b(end-N)
depending on the exact definition of Nth largest number. Both sort and unique are faster than your routines ...

Contact us