标签: arrays matlab vector matrix
假设我们有一个N乘3矩阵A和一个长度为3的行向量。我想得到一个长度为N的列向量w,这样如果k,则w的第k个条目为1 -th的行等于v,否则为0。
可能的解决方案是
(A(:,1) == v(1)) .* (A(:,2) == v(2)) .* (A(:,3) == v(3))
但是有更优雅的方式,或者是一个我不知道的matlab命令?如果数字3更大,那也会很好吗?
谢谢!
答案 0 :(得分:4)
使用bsxfun:
bsxfun
all(bsxfun(@eq, v, A),2)
或ismember
ismember
ismember(A,v,'rows')