Студопедия

КАТЕГОРИИ:


Архитектура-(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

 

 

 

  Создайте ВП, который генерирует двумерный массив случайных чисел размерностью 5 х 6 и выдает часть этого массива размерностью 4x5. На лицевую панель вывести исходный массив случайных чисел и полученный массив
  Создайте ВП, который генерирует двумерный массив случайных чисел и осуществляет транспо­нирование полученного массива. На лицевую па­нель вывести массив случайных чисел и транспо­нированный массив. Для транспонирования мас­сива используйте функцию Transpose 2D Array, расположенную на палитре Functions» Array

 

Контрольные вопросы

1. Из каких основных компонентов состоит Ваш ВП?

2. Какие типовые приемы создания массива констант Вы знаете?

3. Какие функции работы с массивами Вы знаете?

4. Что такое полиморфные функции?

5. Какие приемы работы с массивами доступны для лицевой панели?

6. Какие палитры доступны для блок-диаграммы?

7. Что Вы знаете о цикле For?

8. Как создаются многомерные массивы?

9. Каково назначение элемента Старт подмножества в подпрограмме ВП?

10. Как выбирается количество элементов подмножества в подпрограмме ВП?

11. Какая функция генерирует случайное число в пределах от 0 до 1?

12. Какие функции создания массивов Вы знаете?

 

 




Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 3788; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.027 сек.