cellfun is slow for lexical sort

1 回表示 (過去 30 日間)
Preethi
Preethi 2013 年 10 月 3 日
コメント済み: Preethi 2013 年 10 月 4 日
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 件のコメント
Walter Roberson
Walter Roberson 2013 年 10 月 3 日
So to check, you would want to sort 1 then 10 to 19 then 2 and so on?

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2013 年 10 月 3 日
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 件のコメント
Preethi
Preethi 2013 年 10 月 4 日
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?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by