[問題] 對array中元素的值同時(一次)做取代
大家好,請問
我有一個一維的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
推
09/24 00:14, , 1F
09/24 00:14, 1F
→
09/24 05:31, , 2F
09/24 05:31, 2F
推
09/24 07:44, , 3F
09/24 07:44, 3F
→
09/24 10:13, , 4F
09/24 10:13, 4F
→
09/24 10:37, , 5F
09/24 10:37, 5F
推
09/24 14:02, , 6F
09/24 14:02, 6F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章