作者wadx1035 (OvercomerLin)
看板MATLAB
标题请问矩阵如何把数字取代成文字?
时间Fri Jun 13 11:24:34 2014
我有一个301*601的矩阵,里面只有 0 和 99 两种元素
如以下所示:
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
99999999999999 0 0 0 0 0 0
09999999999 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 取代成 T1,
如以下所示:
v=
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
T1T1T1T1T1T1T1 0 0 0 0 0 0
0T1T1T1T1T1T1 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
我本来想用 v(u==99)='T1'; 这招解决它,但是我错了...矩阵内好像无法文字和数字
一起....
然而,我试着把元素存成cell来解决,但是cell无法使用find,找出每一个 99 取代成
T1。
请各位高手帮助我,给我一盏指路明灯吧....。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.64.239
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1402629877.A.A93.html
1F:推 DoMau:先找到99的位址,再到CELL矩阵改呢? 06/13 13:46
2F:→ celestialgod:u2=num2str(u);for i = 1:size(u2,1); 06/13 21:53
3F:→ celestialgod:u2(i,:) = strrep(u2(i,:), '99', 'T1');end 06/13 21:53