請問矩陣如何把數字取代成文字?

看板MATLAB作者 (OvercomerLin)時間10年前 (2014/06/13 11:24), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/2 (看更多)
我有一個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://www.ptt.cc/bbs/MATLAB/M.1402629877.A.A93.html

06/13 13:46, , 1F
先找到99的位址,再到CELL矩陣改呢?
06/13 13:46, 1F

06/13 21:53, , 2F
u2=num2str(u);for i = 1:size(u2,1);
06/13 21:53, 2F

06/13 21:53, , 3F
u2(i,:) = strrep(u2(i,:), '99', 'T1');end
06/13 21:53, 3F
文章代碼(AID): #1JccxrgJ (MATLAB)
文章代碼(AID): #1JccxrgJ (MATLAB)