Выберите уникальные строки из числовых массивов ячеек в Matlab, когда строки имеют разные размеры

Например, 17777.385 * 100 (округление до заданного числа цифр, умноженное на 10digits, а затем раундов) будет ровно 1777738.49999999976716935634613037109375, что, как вы видите, не на полпути и поэтому не влияет на флаги с половинным округлением. Это не связано с умножением, входное значение уже было 17777.3849999999983992893125.

В 177777.385 * 100 вход был действительно каким-то смешным номером, но умножение на 100 просто приводит к точно 17777738.5, на который влияет флаг округления.

0
задан user3285148 19 January 2019 в 19:02
поделиться

1 ответ

Просто преобразуйте массив ячеек в матрицу из 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,:,:}    

Вы можете применить это только к первому столбцу, а затем двигаться дальше.

0
ответ дан Brethlosze 19 January 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: