作者gary32217 (KAI)
看板MATLAB
标题Re: 请问矩阵如何把数字取代成文字?
时间Fri Jun 13 21:39:30 2014
个人是想到这样写
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 );
不过感觉还有更好的写法 = =
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.241.194
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1402666774.A.C22.html
1F:→ jatj:其实用cellfun速度还比一个个for 还慢 cellfun不快 06/14 07:44
2F:→ gary32217:感谢告知^^ 06/14 12:29
3F:推 kurt28:长知识...一直以为cellfun比较快@@ 06/16 16:15
4F:推 kimutaka:一直以为cellfun是叫我们不用做写for这种傻事,想不到@@ 06/17 10:20
5F:推 sunev:可以直接用num2cell,不过for确实比cellfun快。 06/17 12:49
6F:推 kurt28:跟4F一样... 06/17 15:44