寻找逻辑运算符

looking for logical operator

这是一个对我来说非常难以解决的问题,我相信一定有一个优雅的解决方案:如果以下矩阵 a_mat 中的任何列仅包含一个逻辑 1,输出1,否则输出0.

a_mat=[0 1 1 0; ...
       1 0 1 0; ...
       0 1 0 0];

解决方案:

sol_mat=[1 0 0 0];

是否有 'easy' 方法可以使用二元运算符(包括 xor 等)解决此问题?我用 setxor() 来解决以前的类似问题,但是不能让它只使用一个输入参数。

您可以使用 sum:

sol_mat = sum(a_mat, 1) == 1

它在 matlab 中运行得足够快。