Список форумов   Список форумов  

Помогите понять как работать с массивами

Всё о программировании на Labview

Модераторы: Техподдержка NI, Robert, Модератор

Помогите понять как работать с массивами

Сообщение Samodelkin » Сб фев 26, 2011 10:15 am

Уважаемые, знатоки, подскажите, пожалуйста, как освоить работу с массивами. Есть опыт написания программ на С и Паскале, а в LabView - нет. Для меня определенную трудность вызывает освоение работы с массивами. Например, для некоторых фуекций нужнен входной двумерный массив, например для функции Graph XY, как его заполнить?
На C это может быть так реализовано:
X[i] = i; Y [i] = Z;
А в LaиView требуются провода двойной толщины и массив.
Может где-нибудь доступная литература, чтобы разобраться?
Стал примерчик делать простейший (в прикрепленном файле), идут ошибки, помогите, если если есть время.
Заранее благодарен.
Вложения
Test_1.rar
(31.49 KiB) Скачиваний: 386
Samodelkin
 
Сообщений: 5
Зарегистрирован: Сб фев 26, 2011 9:54 am

Сообщение viktor » Вс фев 27, 2011 2:13 pm

В формуле не нужно писать [i], массив образуется в цикле (автоиндексирование).
Число итераций также определяется автоматически из кол-ва элементов входного массива.
Вложения
Test_1.zip
(9.41 KiB) Скачиваний: 386
viktor
Специалист LabVIEW
 
Сообщений: 82
Зарегистрирован: Пн июн 09, 2008 8:38 pm
Откуда: С-Петербург

Опять про массивы... и индексирование

Сообщение Samodelkin » Вт мар 15, 2011 10:27 pm

Уважаемые знатоки, подскажите еще раз. Я делаю обмен между удаленным контроллером и ПК по простейшему протоколу, включающему: заголовок, тело пакета (несколько параллельных потоков, двоичные данные), контрольная сумма. Когда пакет принимется, то он "на лету" разбирается и данные сортируются в отдельные массивы. Так вот я не могу понять простую вещь: как наращивать индексы для массивов. Поясню на примере: нужно из входного потока каждую четную пару байт сохранить в массиве Y1[], каждую нечетную пару байт сохранить в массиве Y2[] и тп.. Для этого сделал тестовый пример, который приложил, где ведно, массив заполняется одинаковыми значениями, а я хотел лишь собрать четные числа. Заранее благодарен.
Вложения
VI_1.rar
(10.9 KiB) Скачиваний: 367
Samodelkin
 
Сообщений: 5
Зарегистрирован: Сб фев 26, 2011 9:54 am

Re: Опять про массивы... и индексирование

Сообщение IvanLis » Вт мар 15, 2011 11:01 pm

Samodelkin писал(а):Уважаемые знатоки, ...
Так вот я не могу понять простую вещь: как наращивать индексы для массивов. Поясню на примере: нужно из входного потока каждую четную пару байт сохранить в массиве Y1[], каждую нечетную пару байт сохранить в массиве Y2[] и тп.. Для этого сделал тестовый пример, который приложил, где ведно, массив заполняется одинаковыми значениями, а я хотел лишь собрать четные числа. Заранее благодарен.

к сожалению ваши примеры посмотреть не могу, так как имею только версию 8.6
но посмотрите примеры, все понятно
если не конкретно под ваш пример, то по аналогии можно поправить для своих нужд

если будут еще вопросы, то сохраняйте примеры в 8.6, тогда смогу помочь более конкретно

в LabVIEW при добавлении элемента в массив индекс присваивать не обязательно - тогда новый элемент станет в конец и ему автоматом присвоится следующий индекс
можно делать Insert с назначением индекса, тогда новый элемент встанет на указанное место, а остальные сдвинутся
в LabVIEW, практически как и во всех других языках программирования, индексы начинаются с "0"


но лучше всего, взять Суранова А. Я. "LabVIEW: справочник по функциям" и посмотреть функции для работы с массивами. Это наиболее эффективный вариант!
Вложения
Array Chet-NeChet.vi.zip
lv8.6
(7.24 KiB) Скачиваний: 345
1.png
примерно так
1.png (7.26 KiB) Просмотров: 6813
Знание нескольких принципов освобождает от знания многих фактов!

Живу я здесь ||| LabVIEW Portal in Google+
IvanLis
Специалист LabVIEW
 
Сообщений: 497
Зарегистрирован: Пн апр 23, 2007 1:44 pm
Откуда: СССР

Сообщение Samodelkin » Ср мар 16, 2011 7:43 pm

Спасибо за помощь, очень многое для себя выяснил из вашего примера.
Samodelkin
 
Сообщений: 5
Зарегистрирован: Сб фев 26, 2011 9:54 am

Re: Опять про массивы... и индексирование

Сообщение Borisych » Сб мар 19, 2011 9:26 am

IvanLis писал(а):но лучше всего, взять Суранова А. Я. "LabVIEW: справочник по функциям" и посмотреть функции для работы с массивами. Это наиболее эффективный вариант!


сейчас имею похожие проблемы при работе с массивами.
так вот Суранов мне совершенно не понравился. на троечку.
В "Уроки LabView" лучше написано.
Borisych
Пользователь
 
Сообщений: 17
Зарегистрирован: Пн мар 07, 2011 8:44 am
Откуда: Almaty Kazakhstan

Re: Опять про массивы... и индексирование

Сообщение IvanLis » Сб мар 19, 2011 5:40 pm

Borisych писал(а):
IvanLis писал(а):но лучше всего, взять Суранова А. Я. "LabVIEW: справочник по функциям" и посмотреть функции для работы с массивами. Это наиболее эффективный вариант!


сейчас имею похожие проблемы при работе с массивами.
так вот Суранов мне совершенно не понравился. на троечку.
В "Уроки LabView" лучше написано.


Потому-что у Суранова => Справочник
а не учебник
Знание нескольких принципов освобождает от знания многих фактов!

Живу я здесь ||| LabVIEW Portal in Google+
IvanLis
Специалист LabVIEW
 
Сообщений: 497
Зарегистрирован: Пн апр 23, 2007 1:44 pm
Откуда: СССР

Re: Опять про массивы... и индексирование

Сообщение Borisych » Сб мар 19, 2011 8:27 pm

IvanLis писал(а):Потому-что у Суранова => Справочник
а не учебник

по моим понятиям Справочник должен давать информация КАК работать с той или иной функцией. Прекрасно помню руководство по PCAD. А это так... перечисление слов в функциях, да и то не полное...
ладно .не будем здесь флудить...
Последний раз редактировалось IvanLis Пн дек 31, 2012 3:35 pm, всего редактировалось 1 раз.
Причина: оверквотинг
Borisych
Пользователь
 
Сообщений: 17
Зарегистрирован: Пн мар 07, 2011 8:44 am
Откуда: Almaty Kazakhstan

Re: Помогите понять как работать с массивами

Сообщение IvanLis » Пн дек 31, 2012 3:33 pm

rogabob писал(а):если следующий элемент больший предыдущего на выходе 0, если меньше 1.

а если равны? :roll:

как-то так...
1.vi
lv2010
(9.09 KiB) Скачиваний: 96

1.png
1.png (24.5 KiB) Просмотров: 4238
Знание нескольких принципов освобождает от знания многих фактов!

Живу я здесь ||| LabVIEW Portal in Google+
IvanLis
Специалист LabVIEW
 
Сообщений: 497
Зарегистрирован: Пн апр 23, 2007 1:44 pm
Откуда: СССР

Re: Помогите понять как работать с массивами

Сообщение IvanLis » Вт янв 01, 2013 10:15 pm

rogabob писал(а):Была одна проблема, массив читается с файла, и почему то только одна итерация была...( надо задать количество елементов

Я этого не видел, как читается и в чем ошибка сказать не могу...
Знание нескольких принципов освобождает от знания многих фактов!

Живу я здесь ||| LabVIEW Portal in Google+
IvanLis
Специалист LabVIEW
 
Сообщений: 497
Зарегистрирован: Пн апр 23, 2007 1:44 pm
Откуда: СССР


Вернуться в LabVIEW

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron