Вы можете использовать логическое индексирование:
ColumnsContainingZeros = any( B == 0, 1 );
% >> ColumnsContainingZeros = [0 1 0 1]
Затем сделать все строки в этих столбцах равными 0
B(:, any(B==0,1)) = 0;
% >> B = [ 16 0 3 0
% 5 0 10 0
% 9 0 6 0
% 4 0 15 0 ]
Чтобы выполнить ту же операцию со строками вместо столбцов,используйте any(B==0,2)
в качестве индекса и B(any(B==0,2), :) = 0
, чтобы изменить все столбцы в этих строках.