Итак, вы начинаете с 24-элементного массива в u
, для которого вы хотите выполнить эту операцию в векторизованном виде. Я предполагаю, что у вас есть еще много элементов, но все они вписываются в память. Способ сделать это - изменить u
туда, где вы хотите, чтобы элементы были. Вы можете сделать это через:
u1 = reshape(u1,[2,4,3]);
Оттуда вам также нужно изменить s
, чтобы соответствовать ему
s1 = permute(s,[1 3 2]);
Наконец, вы можете вычислить вашу C
матрицу в векторизованном виде
C1 = mod(s1-sum(u1),1);
Для этой задачи это дает матрицу 1x4x3
, где 3-е измерение представляет каждый набор из 8. Затем вы можете извлечь необходимый набор задач
C = squeeze(C1(1,:,1));