这是一个对我来说非常难以解决的问题,我相信一定有一个优雅的解决方案:如果以下矩阵中的任何列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];
有没有一种"简单"的方法可以使用包括异或等在内的二进制运算符来解决这个问题?我用setxor()
来解决以前的类似问题,但是不能让它只用一个输入参数工作。
您可以使用
sum
sol_mat = sum(a_mat, 1) == 1
它在 matlab 中工作得足够快。