寻找逻辑运算符
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 中运行得足够快。
这是一个对我来说非常难以解决的问题,我相信一定有一个优雅的解决方案:如果以下矩阵 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 中运行得足够快。