【发布时间】:2015-07-01 02:47:44
【问题描述】:
我想将非常大的矩阵转换为格式化的单元格字符串。我创建了以下代码,但是它非常慢,我想尽可能地改进它。
tic
r = rand(1000,1000);
p = rand(1000,1000);
a = cellstr(num2str(r(:),'%+.2f'));
a = strrep(a,'+',' ');
a = strrep(a,'0.','.');
a = strcat(a(:),{' '});
idx_05 = find(p<.05);
idx_01 = find(p<.01);
a(idx_05) = strrep(a(idx_05),' ','* ');
a(idx_01) = strrep(a(idx_01),'* ','**');
a = reshape(a,size(r));
toc
经过的时间是 9.968568 秒。
【问题讨论】:
-
分析器说大部分时间都花在
strcat命令上,所以试着往那个方向看
标签: matlab