Ваш код
sum(a(2,:)~=1)
сообщает, сколько записей во втором ряду не меньше 1. Это потому, что аргумент для sum ,
>> a(2,:)~=1
ans = 
     1     1     1     0
является логическим массивом, который указывает, отличается ли каждое из чисел в этой строке от 1, а логические значения false и true интерпретируются как числа 0 и 1 sum .
Что вы хотите сделать, это использовать эти значения для логического индексирования в строке и суммирования только выбранных элементов
ind = a(2,:)~=1;
sum(a(2,ind))
или короче
sum(a(2,a(2,:)~=1))
Конечно, для общности было бы лучше заменить 1 на выражение min(a(2,:))