看板 MATLAB 關於我們 聯絡資訊
大家好,請問 我有一個一維的matrix a = [1 2 3 2 3 3 4 4] 想對其中的特定的值做取代 1 -> 2 2 -> 3 3 -> 1 4 -> 4 (維持不變) 結果 b = [2 3 1 3 1 1 4 4] 目前我只想到很笨的方法,用loop和logical做 例如: a = [1 2 3 2 3 3 4 4] b(a==1) = 2 b(a==2) = 3 b(a==3) = 1 b(a==4) = 4 問題: 1) 有幾個不同值需要代換就需要幾個loop,上面就要做4次 2) 連不同代換的都做了,例如 4 -> 4,不過這應該好解決 主要想請問,有沒有什麼function或其他寫法 可以更快速的做這種代換, 因為實際上我要代換的array很大,且有許多不同的值要換... 多謝大家指教,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.242.249 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1443020369.A.A6F.html ※ 編輯: yabiru (118.161.242.249), 09/23/2015 22:59:57
sunev: 代換前後的值都是正整數嗎? 09/24 00:14
yabiru: 是的,都是正整數! 09/24 05:31
celestialgod: changem 09/24 07:44
s4300026: 樓上真的什麼都會耶 QAQ 超強~~~ 09/24 10:13
celestialgod: 沒有拉,會的不多... 09/24 10:37
sunev: 這個也是跑for loop 09/24 14:02