Пересечение областей. Есть ли более рациональное решение?

Простейшие вопросы в области инженерной разработки
Ответить
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Пересечение областей. Есть ли более рациональное решение?

Сообщение Юрий »

Потребовалось найти пересечение двух векторов и оставшихся участков. Казалось бы простая задача, но не тут то было. Всё было бы и просто, если бы не случаи, когда какие то значения совпадают - при сортировке не понятно в каком порядке по отношению к векторам эти значения выстраиваются. В результате программа получилась достаточно громоздкая. Мне всё же интересно, можно ли эту задачу решить более красиво.
Вложения
Перекрытие.vi
(38.81 КБ) 56 скачиваний
Последний раз редактировалось Юрий 13 янв 2021, 23:28, всего редактировалось 1 раз.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Пересечение областей. Есть ли более рациональное решение?

Сообщение IvanLis »

Юрий писал(а): 13 янв 2021, 20:11 Мне всё же интересно, можно ли эту задачу решить более красиво.
Простой алгоритм определения пересечения двух отрезков
если Вы это имели ввиду
А то в названии темы одно, в сообщении другое, сложно предположить, что в программе реализовано. :wink:
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Пересечение областей. Есть ли более рациональное решение?

Сообщение Юрий »

IvanLis писал(а): 13 янв 2021, 21:59 Простой алгоритм определения пересечения двух отрезков
если Вы это имели ввиду
А то в названии темы одно, в сообщении другое, сложно предположить, что в программе реализовано. :wink:
В названии темы сказано о пересечение областей. Области две, простейшие, одномерные, заданы двумя векторами.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Пересечение областей. Есть ли более рациональное решение?

Сообщение IvanLis »

Юрий писал(а): 13 янв 2021, 22:19 В названии темы сказано о пересечение областей. Области две, простейшие, одномерные, заданы двумя векторами.
Значит я неверно трактовал термин "вектор".
Заполните значения и сохраните их по умолчанию, т.к. что бы исходные данные задать, нужно быть в теме ...
Я ничего не задал на входе (пустые массивы), а пересечение уже обнаружено.
Снимок экрана от 2021-01-13 22-34-57.png
Т.е. фактически Вам нужно найти пересечения множеств целых чисел, которые заданы граничными значениями?
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Пересечение областей. Есть ли более рациональное решение?

Сообщение Юрий »

IvanLis писал(а): 13 янв 2021, 22:32 Т.е. фактически Вам нужно найти пересечения множеств целых чисел, которые заданы граничными значениями?
IvanLis, спасибо за правильную формулировку и извините за лишний напряг. Что то с основными понятиями у меня совсем плохо стало, поленился освежить в памяти понятия множеств, хотя чувствовал, что что то не так. Всё это так давно было. Программу по Вашему пожеланию подправил.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Пересечение областей. Есть ли более рациональное решение?

Сообщение IvanLis »

Юрий писал(а): 13 янв 2021, 20:11Мне всё же интересно, можно ли эту задачу решить более красиво.
Более элегантное решение я не смог придумать, по крайней мере, за то время, которое смог уделить этой задаче.
Единственно, если дальнейшая цель сгенерировать именно множества целых чисел на основе вычисленных интервалов, то я бы предложил работать сразу с множествами. Т.е. генерируем их, а потом используя операции: Intersection (пересечение) и Complement (разность) получить искомые множества.
Тем более с последних версиях LV появилась палитра Collections позволяющая работать с множествами.
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Пересечение областей. Есть ли более рациональное решение?

Сообщение Юрий »

IvanLis писал(а): 15 янв 2021, 21:34 С последних версиях LV появилась палитра Collections позволяющая работать с множествами.
А можно уточнить с какой? Хотя вряд ли уже буду переходить на новую версию и что то изменять. Предлагаемый Вами вариант просматривал, но не смог найти в своей 18-ой подходящих функций.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Пересечение областей. Есть ли более рациональное решение?

Сообщение dadreamer »

Юрий писал(а): 18 янв 2021, 22:28А можно уточнить с какой? Хотя вряд ли уже буду переходить на новую версию и что то изменять. Предлагаемый Вами вариант просматривал, но не смог найти в своей 18-ой подходящих функций.
LabVIEW 2019
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»