作者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://www.ptt.cc/bbs/MATLAB/M.1402666774.A.C22.html
→ jatj:其實用cellfun速度還比一個個for 還慢 cellfun不快 06/14 07:44
→ gary32217:感謝告知^^ 06/14 12:29
推 kurt28:長知識...一直以為cellfun比較快@@ 06/16 16:15
推 kimutaka:一直以為cellfun是叫我們不用做寫for這種傻事,想不到@@ 06/17 10:20
推 sunev:可以直接用num2cell,不過for確實比cellfun快。 06/17 12:49
推 kurt28:跟4F一樣... 06/17 15:44