я написал:
i1 = randi([0,1],1,10^6);
i2 = randi([0,1],1,10^6);
i3 = randi([0,1],1,10^6);
i4 = randi([0,1],1,10^6);
(да, эти векторы имеют только 1M элементов, но не 2M)
тогда
tic,or(and(not(i1),i2),xor(i3,i4)); toc
который дал
Elapsed time is 0.047936 seconds.
Я думаю, вам будет сложно получить результат быстрее, используя функцию MEX; У меня такое ощущение, что процедура MEX все еще будет просыпаться, когда чистый раствор Matlab поднял ноги и открыл холодное пиво.
Но я с нетерпением жду, чтобы оказаться неправым, как это часто бывает.