3

Matlab でかなり大きなテーブル (> 10,000 行) を作成すると、コンストラクターによって呼び出される単一の関数が原因で非常に遅くなる可能性があることに気付きましたcheckDuplicateNames。ただし、通常、テーブルに渡す名前は既に一意であると確信しています。

以下は、問題をよく示しています。10,000 個のランダム値の生成には 1 ミリ秒もかかりませんが、文字列の行名を含むランダム値のテーブルの生成には 1.4 秒かかり、重複する行名のチェックには 1.4 秒かかります。

profile on; 
a = rand(10000,1);
strind = cellstr(num2str((1:10000)'));
b = table(a, 'RowNames', strind); 
profile viewer

checkDuplicateNames関数を呼び出さずに Matlab でテーブルを作成する別の方法はありますか?

4

1 に答える 1

1

MathWorks の従業員からのこの返信に基づいて、コアの Matlab ファイルを変更せずにそれを行うことはできません。

于 2015-03-16T13:55:42.260 に答える