Borrar filtros
Borrar filtros

cellfun is slow for lexical sort

2 visualizaciones (últimos 30 días)
Preethi
Preethi el 3 de Oct. de 2013
Comentada: Preethi el 4 de Oct. de 2013
Hi,
I am trying to lexicogrphically sort a matrix (size - 10000x 1) and i used cellfun, but it is very time consuming. Is there any way to speed up. I tried using for loop but i couldn't get the correct result. My code is
im_dct_num = num2cell(im_dct);
im_dct_temp = cellfun(@num2str,im_dct_num,'UniformOutput',false);
Thanking you in advance
Regards,
Preethi
  1 comentario
Walter Roberson
Walter Roberson el 3 de Oct. de 2013
So to check, you would want to sort 1 then 10 to 19 then 2 and so on?

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 3 de Oct. de 2013
You should find it faster to use
im_dct_temp = cellstr( num2str( im_dct(:) ) );
but then you need to decide about treating leading or trailing blanks. For example how should
2.00000000
sort relative to
2
? And would your preferred output for 2 be '2' or '2.' or '2.0' ?
  1 comentario
Preethi
Preethi el 4 de Oct. de 2013
It is working, speed has improved. If I have to use it for a matrix (ex. 19000 x 64) how do I modify the code?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by