Всем привет, есть такая subvi "non rectangle matrix", смысл его в том, чтоб взять массив (Array), скажем из ста элементов и прибавить к нему массив массивов из 10 элементов (Array of arrays) и получить "массив" массивов (Output) с первым элементом - массивом из ста и остальными - массивами из 10 элементов. Теперь если взять index array от Output, то можно прочесть нужную строку, причём они могут буть разных длин, т.е. получилась как бы не прямоугольная таблица.
Я это раньше делал так, как в "non rectangle matrix.vi", т.е. "вручную" через case structure, как тоже самое сделать через for loop? Появилась необходимость складывать таким образом сотни массивов (а не единицы как раньше, когда я мог каждый конкретный случай прописать в case).
Я пробовал играться в cluster, class, variant palette, но без результата..
P.S. В Disabled structure оставил ошметки от игр.
Не прямоугольная таблица из array of clusters
-
- beginner
- Сообщения: 35
- Зарегистрирован: 02 дек 2015, 15:06
- Версия LabVIEW: 2018
- Контактная информация:
Не прямоугольная таблица из array of clusters
- Вложения
-
- Non rectangle matrix.vi
- (38.33 КБ) 114 скачиваний
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Не прямоугольная таблица из array of clusters
Массив кластеров.
только я не понял. зачем кейсы? Чем индекс массива не работает?
только я не понял. зачем кейсы? Чем индекс массива не работает?
-
- beginner
- Сообщения: 35
- Зарегистрирован: 02 дек 2015, 15:06
- Версия LabVIEW: 2018
- Контактная информация:
Re: Не прямоугольная таблица из array of clusters
По вашему примеру получается сгруппировать массив из массивов чисел разных длин, не знал, что это так можно, спасибо.
У меня немного другая задача, есть длинный двумерный массив и массив коротких двумерных массивов, нужно из них сделать массив из двумерных массивов, в котором первый элемент длинный, остальные короткие. И, казалось бы, должно просто получится, но у меня что-то всё не получится =(.
У меня затык с массивом коротких массивов, раньше, когда элементов в нём было мало, я прописывал, типа, если их 3, то берёшь и делаешь "build cluster array" из первого длинного и 0-го индекса массива массивов + 1-го индекса + 2-го индекса.
Теперь у меня сотни элементов в массиве массивов и я хз как это сделать.
В примере, который висит в аттаче есть всё, что я описал выше, он работает, но надо его модернизировать на произвольное число элементов массива массивов.
У меня немного другая задача, есть длинный двумерный массив и массив коротких двумерных массивов, нужно из них сделать массив из двумерных массивов, в котором первый элемент длинный, остальные короткие. И, казалось бы, должно просто получится, но у меня что-то всё не получится =(.
У меня затык с массивом коротких массивов, раньше, когда элементов в нём было мало, я прописывал, типа, если их 3, то берёшь и делаешь "build cluster array" из первого длинного и 0-го индекса массива массивов + 1-го индекса + 2-го индекса.
Теперь у меня сотни элементов в массиве массивов и я хз как это сделать.
В примере, который висит в аттаче есть всё, что я описал выше, он работает, но надо его модернизировать на произвольное число элементов массива массивов.
-
- beginner
- Сообщения: 35
- Зарегистрирован: 02 дек 2015, 15:06
- Версия LabVIEW: 2018
- Контактная информация:
Re: Не прямоугольная таблица из array of clusters
Перезаливаю .vi, поменял входные контролы "Array" и "Array of arrays" на константы с аналогичным названием чтоб можно было поиграться. То, что мы получаем на выходе "Output" - то, что мне нужно.
- Вложения
-
- Non rectangle matrix 1.vi
- (42.27 КБ) 126 скачиваний
-
- beginner
- Сообщения: 35
- Зарегистрирован: 02 дек 2015, 15:06
- Версия LabVIEW: 2018
- Контактная информация:
Re: Не прямоугольная таблица из array of clusters
Разобрался. Всё встало на свои места, как только до меня дошло, что в for loop нужно использовать concentrate на выходе, а не пытаться через shift register к первому длинному массиву каждый раз прибавлять всё новые "массивчики" =)
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Не прямоугольная таблица из array of clusters
Только сейчас посмотрел ваш код (на будущее, для быстрого получения ответа сохраняйте в более ранние версии, не все ставят новинки)
У вас и есть массив кластеров <чего угодно>. Я из вопроса решил, что вам нужен массив.
"массив массивов" из C# в реализуется через прослойку в виде кластера.
Ну и наконец, по "решению". Совершенно не нужно разбирать-собирать данные. Эти два "выхода" дают один и тот же результат, а действий меньше и код понятнее.
У вас и есть массив кластеров <чего угодно>. Я из вопроса решил, что вам нужен массив.
"массив массивов" из C# в реализуется через прослойку в виде кластера.
Ну и наконец, по "решению". Совершенно не нужно разбирать-собирать данные. Эти два "выхода" дают один и тот же результат, а действий меньше и код понятнее.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 499 Просмотры
-
Последнее сообщение Artem.spb
-
- 5 Ответы
- 268 Просмотры
-
Последнее сообщение AndreyDmitriev