Re: 请问矩阵如何把数字取代成文字?

楼主: gary32217 (KAI)   2014-06-13 21:39:30
个人是想到这样写
u = [0 0 0 0 0 0 0 0 0 0 0 0 0 ;
0 0 0 0 0 0 0 0 0 0 0 0 0 ;
0 0 0 0 0 0 0 0 0 0 0 0 0 ;
0 0 0 0 0 0 0 0 0 0 0 0 0 ;
99 99 99 99 99 99 99 0 0 0 0 0 0 ;
0 99 99 99 99 99 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 ;
0 0 0 0 0 0 0 0 0 0 0 0 0 ];
m = ones(1,size(u,1));
n = ones(1,size(u,2));
v = mat2cell(u , m , n );
y = cellfun(@(x) strrep(num2str(x),'99','T1'), v , 'UniformOutput', false );
不过感觉还有更好的写法 = =
作者: jatj   2014-06-14 07:44:00
其实用cellfun速度还比一个个for 还慢 cellfun不快
楼主: gary32217 (KAI)   2014-06-14 12:29:00
感谢告知^^
作者: kurt28   2014-06-16 16:15:00
长知识...一直以为cellfun比较快@@
作者: kimutaka (保持对生命的热情)   2014-06-17 10:20:00
一直以为cellfun是叫我们不用做写for这种傻事,想不到@@
作者: sunev (Veritas)   2014-06-17 12:49:00
可以直接用num2cell,不过for确实比cellfun快。
作者: kurt28   2014-06-17 15:44:00
跟4F一样...

Links booklink

Contact Us: admin [ a t ] ucptt.com