在Matlab 2012b中,有一个changem
函数,该函数可让您用一组键指定的其他值替换矩阵的元素:
Substitute values in data array
如果我没有“映射”工具箱,是否有一种优雅/矢量化的方法来做同样的事情?
最佳答案
是的,使用ismember
:
A = magic(3);
oldCode = [ 8 9];
newCode = [12 13];
[a,b] = ismember(A,oldCode);
A(a) = newCode(b(a));
我不知道
changem
,我怀疑以上内容不会完全涵盖其功能(为什么TMW会引入changem
呢?),但是,它确实满足了您的要求:)关于arrays - 优雅的CHANGEM矢量化版本(替代值)-MATLAB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13812656/