Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中的快速异或阵列_Matlab_Xor - Fatal编程技术网

matlab中的快速异或阵列

matlab中的快速异或阵列,matlab,xor,Matlab,Xor,还有比这更有效的方法对矩阵的每一列进行异或运算吗 mod(sum(matrix),2) 它从逻辑转换为双精度,并使用昂贵的模 更新: 根据,求和uint比求和double慢,因为它涉及到最大剪辑和其他原因。 另外,请注意,求和逻辑(使用'native')在1处停止。我试图避免转换为双,但效果并不好(通常更糟) sum的native选项允许您在结果中保留参数的类型。除了@ClementJ所说的之外,我还尝试了 tic E = A(1) for i = 2:numel(A) E = xor

还有比这更有效的方法对矩阵的每一列进行异或运算吗

mod(sum(matrix),2)
它从逻辑转换为双精度,并使用昂贵的模

更新:

根据,求和uint比求和double慢,因为它涉及到最大剪辑和其他原因。
另外,请注意,求和逻辑(使用
'native'
)在1处停止。

我试图避免转换为
,但效果并不好(通常更糟)


sum的
native
选项允许您在结果中保留参数的类型。

除了@ClementJ所说的之外,我还尝试了

tic
E = A(1)
for i = 2:numel(A)
    E = xor(y, A(i));
end
E
toc
希望加速器能帮上忙,但没什么用,而且

这实际上不起作用,因为XOR只允许2个输入


MATLAB的双精度向量算法的速度几乎和它得到的一样快,所以你可能做得再好不过了。如果这真的提高了性能,那么我建议编写一个C-MEX函数:应该很容易。

xor函数?你能详细说明一下吗?@reve_etrange,我要找的是对数组A的元素进行异或运算:A(1)xor A(2)xor。。。异或A(n)。Matlab的xor(A,B)不能做到这一点。如果你想快速实现,我会编写一个mex函数来实现。
tic
E = A(1)
for i = 2:numel(A)
    E = xor(y, A(i));
end
E
toc
tic
F = num2cell(A);
F = xor(F{:})
toc