![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Работа с массивами в среде Lab VIEW
Массивы объединяют элементы одного типа данных. Массив - это набор элементов определенной размерности. Элементами массива называют группу составляющих его объектов. Размерность массива - это совокупность столбцов (длина) и строк (высота), а также глубина массива. Массив может иметь одну и более размерностей и до 231-1 элементов в каждом направлении, насколько позволяет оперативная память. Данные, составляющие массив, могут быть любого типа: целочисленного, логического или строкового. Массив также может содержать элементы графического представления данных и кластеры. Использовать массивы удобно при работе с группами данных одного типа и при накоплении данных после повторяющихся вычислений. Массивы идеально подходят для хранения данных, полученных с графиков, или накопленных во время работы циклов, причем одна итерация цикла создает один элемент массива. Все элементы массива упорядочены. Чтобы к ним было легко обращаться, каждому элементу присвоен индекс. Нумерация элементов массива всегда начинается с 0. Таким образом, индексы массива находятся в диапазоне от 0 до (п - 1), где п - число элементов в массиве. Создание массива элементов управления и отображения. Для создания массива элементов управления или отображения данных, как показано в примере, необходимо выбрать шаблон массива из палитры Controls» Array & Cluster и поместить его на лицевую панель. Затем поместить в шаблон массива элемент управления либо отображения данных. Создание массива констант. Создать массив констант на блок-диаграмме можно, выбрав в палитре Functions» Array шаблон Array Constant и поместив в него числовую константу. Массив констант удобно использовать для передачи данных в подпрограммы ВП. Двумерные массивы. В двумерном (2D) массиве элементы хранятся в виде матрицы. Таким образом, для размещения элемента требуется указание индекса столбца и строки. На иллюстрации показан двумерный массив, состоящий из 6 столбцов (длина) и 4 строк (высота). Количество элементов в массиве равно 24 (6 х 4 = 24). Для увеличения размерности массива необходимо щелкнуть правой кнопкой мыши по элементу индекса и выбрать из контекстного меню пункт Add Dimension (Добавить размер). С этой целью также можно использовать инструмент ПЕРЕМЕЩЕНИЕ. Для этого надо просто изменить размер элемента индекса. Автоматическая индексация. Цикл For и цикл While могут автоматически накапливать массивы и проводить их индексацию на своих границах. Это свойство называется автоиндексацией. После соединения терминала данных массива с терминалом выхода из цикла каждая итерация цикла создает новый элемент массива. На иллюстрации видно, что проводник данных, соединяющий терминал данных массива с терминалом выхода из цикла стал толще, а сам терминал выхода из цикла окрашен в цвет терминала данных массива. Автоиндексация отключается щелчком правой кнопки мыши по терминалу входа/выхода из цикла и выбором пункта контекстного меню Disable Indexing (запретить авто индексацию). Автоиндексацию следует отключать, например, в случае, когда нужно знать только последнее значение. Ввиду того, что цикл For часто используется при работе с циклами, для него в LabVIEW автоиндексация включена по умолчанию. Для цикла While автоиндексация по умолчанию отключена. Для того, чтобы включить автоиндексацию, необходимо щелкнуть правой кнопкой мыши по терминалу входа/выхода из цикла и выбрать в контекстном меню пункт Enable Indexing (разрешить автоиндексацию). Создание двумерных (2D) массивов. Для создания двумерных массивов необходимо использовать два цикла For, один внутри другого. Как показано на иллюстрации, внешний цикл создает элементы массива в строке, а внутренний цикл создает элементы массива в столбце. Функции работы с массивами. Для создания и управления массивами используются функции, расположенные в палитре Functions» Array. Наиболее часто используемые функции работы с массивами включают в себя: Array Size (Размер массива) - показывает количество элементов массива каждой размерности. Если массив «-мерный, на выходе функции Array Size будет массив из п элементов. Например, для приведенного ниже массива функция Array Size выдаст значение 3.
Initialize Array (задать массив) - создает n-мерный массив, в котором каждый элемент инициализирован значением поля ввода данных element. Для увеличения размерности массива достаточно добавить поля ввода данных, растянув узел функции. Например, если для функции Initialize Array заданы следующие значения параметров: на поле element подается значение 4, а на поле dimension size (если оно одно) - значение 3, то на выходе получится массив, показанный ниже. Build Array (создать массив) - объединяет несколько массивов или добавляет элемент в п-мерный массив. Изменение размера функции увеличивает количество полей ввода данных, что позволяет увеличить количество добавляемых элементов. Например, если объединить два предыдущих массива, то функция Build Array выдаст на выходе следующий массив. Для объединения входных данных в более длинный массив той же размерности, как показано ниже, достаточно щелкнуть правой кнопкой мыши на функции и выбрать из контекстного меню пункт Concatenate Inputs (объединение входных данных). Array Subset (подмножество массива) - выдает часть массива, начиная с индекса, поступившего на поле index, и длиной, указанной в поле length (длина). Например, если подать предыдущий массив на поле ввода функции Array Subset, значение 2 - на поле index и 3 - на поле Подмножество, то Index Array (индекс массива) - выдает элемент, соответствующий индексу, значение которого подается на поле ввода index. Например, при использовании предыдущего массива, функция Index Array выдаст значение 2, если на поле ввода данных index подать значение 0. Функцию Index Array можно использовать для выделения строки или столбца из двумерного массива и дальнейшего отображения в виде полмассива. Для этого двумерный массив надо подать в поле ввода данных функции. Функция Index Array должна иметь два поля index. Верхнее поле index указывает строку, а нижнее - столбец. Можно задействовать оба поля index для выбора отдельного элемента или только одно, для выбора строки или столбца. Например, в поле ввода данных функции подается массив, показанный ниже. Функция Index Array в поле вывода данных выдаст следующий массив в случае, если на поле index (строка) подается значение 0. Задание 5.1. ВП Работа с массивами Выполните следующие шаги для создания ВП, который формирует массив случайных чисел, масштабирует полученный массив и выделяет из него подмножество.
Лицевая панель 1. Откройте новый ВП и создайте лицевую панель, как показано ниже: а) в палитре Controls» Array & Cluster выберите шаблон массива; б) созданному массиву присвойте имя Массив случайных чисел; в) поместите внутрь шаблона массива цифровой элемент отображения, расположенный в палитре Controls» Numeric; г) с помощью инструмента ПЕРЕМЕЩЕНИЕ измените размер массива таким образом, чтобы он содержал 10 элементов; д) нажмите и удерживайте клавишу <Ctrl> и, перемещая элемент Массив случайных чисел, создайте две его копии; е) копиям присвойте имена Конечный Массив и Подмножество Массива; ж) создайте три цифровых элемента управления и присвойте им имена Масштабный коэффициент, Старт подмножества; з) щелкните правой кнопкой мыши по элементам Старт подмножества и Количество элементов подмножества, в контекстном меню выберите пункт Representation, затем пункт 132; е) значения элементов управления данных пока не изменяйте. БЛОК-ДИАГРАММА 2. Постройте блок-диаграмму, как показано ниже. Выберите функцию Random Number (0 - 1), расположенную в палитре Functions» Numeric. Эта функция будет генерировать случайное число в пределах от 0 до 1. Выберите цикл For, расположенный в палитре Functions» Structures. Этот цикл на терминале выхода накапливает массив из 10 случайных чисел. Терминалу количества итераций присвойте значение 10. Выберите функцию Array Subset, расположенную в палитре Functions» Array. Эта функция выдает подмножество массива, начиная со значения, введенного в элементе Старт подмножества, и будет содержать количество элементов, указанное в элементе Количество элементов подмножества. 3. Сохраните ВП под именем Работа с массивами.
ЗАПУСК ВП 4. Перейдите на лицевую панель, измените значения элементов управления и запустите ВП. Цикл For совершит 10 итераций. Каждая итерация создаст случайное число и сохранит его в терминале выхода из цикла. В элементе Массив случайных чисел отобразится массив из 10 случайных чисел. ВП умножит каждое значение этого массива на число, введенное в элемент управления Масштабный коэффициент, для создания массива, отображаемого в индикаторе Конечный массив. ВП выделит подмножество из получившегося массива, начиная со значения в элементе Старт подмножества длиной, указанной в элементе Количество элементов подмножества, и отобразит это подмножество в индикаторе Подмножество массива. 5. Закройте ВП.
Задание 5.2
Контрольные вопросы 1. Из каких основных компонентов состоит Ваш ВП? 2. Какие типовые приемы создания массива констант Вы знаете? 3. Какие функции работы с массивами Вы знаете? 4. Что такое полиморфные функции? 5. Какие приемы работы с массивами доступны для лицевой панели? 6. Какие палитры доступны для блок-диаграммы? 7. Что Вы знаете о цикле For? 8. Как создаются многомерные массивы? 9. Каково назначение элемента Старт подмножества в подпрограмме ВП? 10. Как выбирается количество элементов подмножества в подпрограмме ВП? 11. Какая функция генерирует случайное число в пределах от 0 до 1? 12. Какие функции создания массивов Вы знаете?
Дата добавления: 2013-12-13; Просмотров: 3876; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |