Например, 17777.385 * 100 (округление до заданного числа цифр, умноженное на 10digits, а затем раундов) будет ровно 1777738.49999999976716935634613037109375, что, как вы видите, не на полпути и поэтому не влияет на флаги с половинным округлением. Это не связано с умножением, входное значение уже было 17777.3849999999983992893125.
В 177777.385 * 100 вход был действительно каким-то смешным номером, но умножение на 100 просто приводит к точно 17777738.5, на который влияет флаг округления.
Просто преобразуйте массив ячеек в матрицу из Datahashes .
Затем, как обычно, проверьте Уникальные строки .
opt.Method='MD2'; % Select the cheapest one
opt.Format='uint8'; % Select a numeric one
b=arrayfun(@(x)sum(GEN.checksum(x,opt)),A,'uni',true)
[~,i]=unique(b(:,1),'rows')
Au=A{i,:,:}
Вы можете применить это только к первому столбцу, а затем двигаться дальше.