在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/

10-08 23:19