Удаление повторяющихся элементов в массиве

Простейшие вопросы в области инженерной разработки

Удаление повторяющихся элементов в массиве

Postby e-not67 on 14 Aug 2019, 10:51

Здравствуйте.

Возникла следующая ситуация.
Необходимо удалить из массива повторяющиеся элементы.
Вроде ничего сложного?! Реализуем с помощью Search 1D Array.vi, запускаем и не работает (см. вложение), т.е. дубликаты в диапазоне от 0 до 1 не удаляются. Если числа в диапазоне от 1 до +∞ ,то все норм.

Может кто-нибудь объяснить почему так?
Attachments
001.vi
LabVIEW 2012
(10.58 KiB) Downloaded 6 times
001.png
e-not67
interested
interested
 
Posts: 4
Joined: 16 Jul 2015, 12:23
LabVIEW Version: 12
Karma: 0

Re: Удаление повторяющихся элементов в массиве

Postby Blackman on 14 Aug 2019, 11:08

Измените количество знаков после разделителя в индикаторах.
0.01 -> 0.011
0.1 -> 0.11
Blackman
leader
leader
 
Posts: 880
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 259
VIP

Re: Удаление повторяющихся элементов в массиве

Postby e-not67 on 14 Aug 2019, 11:20

Ну да, дрянь получается.
Вводишь 0.009, а LV сам меняет на 0.00899999999999999932.
Спасибо.
Attachments
002.png
e-not67
interested
interested
 
Posts: 4
Joined: 16 Jul 2015, 12:23
LabVIEW Version: 12
Karma: 0

Re: Удаление повторяющихся элементов в массиве

Postby Borjomy_1 on 14 Aug 2019, 13:05

e-not67, А вы почитайте, как хранятся числа с плавающей точкой! Это полная глупость так работать с действительными числами. Сначала определитесь, какие действительные числа вы считаете повторами. Если у вас фиксированное количество разрядов после запятой, то переводите массив в массив чисел с фиксированной точкой и уже там производите чистку.
т.е если у вас два значащих разряда после запятой, то умножаете число на 100 и переводите его в I32. Полученный массив уже можно чистить вашим способом. Для отображения результата массив переводите в DBL и делите на те-же 100.
Borjomy_1
expert
expert
 
Posts: 1896
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 329
VIP


Return to Для чайников

Who is online

Users browsing this forum: Yandex and 1 guest

cron