5.2.1 Для выполнения лабораторной работы необходимо зарегистрироваться в системе:
− загрузить файл Base_LabView, появится окно выбора лабораторных работ (рисунок 1.1), в главном меню LabView нажать кнопку «RUN»;
− выбрать лабораторную работу «Работа с массивами»;
− появится окно регистрации студента (рисунок 1.2): ввести свои Фамилию, Имя; ввести номер группы; нажать кнопку «Далее».
5.2.2 Задание 1. Создать ВП, который формирует массив случайных чисел, масштабирует полученный массив и выделяет из него подмножество.
5.2.2.1 В открывшемся меню LabView выбрать «New VI» - новый ВП.
5.2.2.2 На фронт-панели собрать интерфейс задачи, как показано на рисунке 5.1.
Рисунок 5.1
1) Cоздание массива элементов управления или индикации данных состоит из двух этапов:
34
- из меню «Controls – Modern - Array & Cluster» выбрать шаблон массива
«Array» и поместить его на фронт-панель;
- из меню «Controls - Numeric» поместить в шаблон массива элемент управления (или индикации).
В шаблон массива можно разместить элементы только одного типа данных. Нельзя создать массив, состоящий из массивов.
У созданного массива слева располагается окно элемента индекса.
Справа – окна элементов управления (или индикации) данных. Нумерация элементов массива в LabView всегда начинается с 0.
2) На фронт-панели создать одномерный массив из числовых элементов индикации. Назвать его «Массив случайных чисел».
3) Скопировать этот массив два раза. Переименовать копии массива на
«Конечный массив» и «Подмножество массива».
4) На фронт-панель поместить три числовых элемента управления.
Назвать их «Масштабный коэффициент», «Старт подмножества»,
«Количество элементов подмножества».
Тип данных элементов «Старт подмножества», «Количество элементов подмножества» заменить на «I32» через контекстное меню этих элементов и
«Representation».
5.2.2.3 Перейти на блок-диаграмму и создать код программы, как показано на рисунке 5.2.
1) Для организации массива случайных чисел поместить генератор случайных чисел «Random Number» внутрь цикла «For». Размерность массива задать максимальным количеством итераций цикла.
2) Масштабирование исходного массива задать умножением «Массива случайных чисел» на «Масштабный коэффициент».
3) Выделение «Подмножества массива» из «Конечного массива»:
использовать функцию обработки массива «Array Subset» из меню «Function – Programming - Array».
Функция «Array Subset» выдает часть массива, начиная с индекса, заданного на входе функции «index», и длиной, заданной на входе «length».
Рисунок 5.2
35
5.2.2.4 Сохранить ВП под именем «Работа с массивами.vi».
5.2.2.5 Перейти на фронт-панель для ввода исходных данных:
«Масштабный коэффициент» = 10; «Старт подмножества» = 2; «Количество элементов подмножества»=5.
5.2.2.6 Запустить программу на выполнение с помощью однократного
«RUN».
Результат выполнения программы: в «Массив случайных чисел»
отобразится массив из 10 чисел; ВП умножит каждое значение этого массива на масштабный коэффициент 10 и отобразит их в «Конечный массив»; ВП выделит из «Конечного массива» подмножество, начиная с 3-его элемента массива, длиной в 5 элементов и отобразит его в «Подмножество массива».
Проверить результат выполнения программы.
5.2.2.7 Изменить исходные данные в п.5.2.2.5. Запустить программу на выполнение с помощью однократного «RUN».
5.2.3 Функции обработки массива:
− «Array Size» - показывает количество элементов массива каждой размерности;
− «Initialize Array» – создает n-мерный массив, в котором каждый элемент массива инициализирован значением поля данных «element».
Размерность задается в поле «dimension size»;
− «Build Array» – объединяет несколько массивов или добавляет элемент в n-мерный массив;
− «Array Subset» – выдает часть массива, начиная с индекса, поступившего на поле «index», и длиной, указанной в поле «length»;
− «Index Array» – выдает элемент, соответствующий индексу, значение которого подается на поле ввода «index». Для двумерного массива: верхнее поле «index» указывает номер строки, нижнее – номер столбца;
− «Полиморфизм»: арифметические операции, расположенные в меню
«Function – Numeric», являются полиморфными. Например, можно использовать функцию «Add» для прибавления скалярной величины к массиву или сложения двух массивов.
5.2.4 Задание 2. Выполнить задание самостоятельно.
Создать ВП, который накапливает массив значений температур с помощью «Термометр.vi». Размер массива определить с помощью элемента управления с фронт-панели. С помощью функции «Initialize Array» создать массив такого же размера, в котором все элементы имеют значение 10.
Сложить два массива, найти размер конечного массива и вычислить его среднее значение.
На фронт-панель вывести массив значений температур, инициализированный массив, конечный массив и среднее значение.
Сохранить ВП под именем «Среднее массива.vi».
5.2.5 Задание 3. Создать ВП, который создает двумерный массив случайных чисел, содержащий 3 строки и 10 столбцов. Вывести на фронт-
36
панель три одномерных массива, соответствующих строкам исходного двумерного массива.
5.2.5.1 В открывшемся меню LabView выбрать «New VI» - новый ВП.
5.2.5.2 На фронт-панели собрать интерфейс задачи, как показано на рисунке 5.3.
1) Cоздание двумерного массива (матрицы) элементов управления или индикации данных состоит из трех этапов:
- из меню «Controls – Modern - Array & Cluster» выбрать шаблон массива
«Array» и поместить его на фронт-панель;
- из меню «Controls - Numeric» поместить в шаблон массива элемент управления (или индикации);
- щелкнуть правой кнопкой мыши по элементу индекса полученного одномерного массива и выбрать из контекстного меню «Add Dimension» или использовать инструмент «ПЕРЕМЕЩЕНИЕ» и изменить размер элемента индекса.
2) На фронт-панели создать двумерный массив из числовых элементов индикации, состоящий из трех строк и десяти столбцов. Назвать его
«Матрица».
3) Создать одномерный массив. Назвать его «Одномерный массив».
Скопировать этот массив два раза. Появятся «Одномерный массив 2» и
«Одномерный массив 3».
Рисунок 5.3
5.2.5.3 Перейти на блок-диаграмму и создать код программы, как показано на рисунке 5.4.
37
1) Для организации двумерного массива случайных чисел поместить генератор случайных чисел «Random Number» внутрь вложенных циклов
«For». Внешний цикл задает число строк в матрице: задать максимальное количество итераций = 3. Внутренний цикл задает число столбцов в матрице:
задать максимальное количество итераций = 10.
2) Для выделения одномерного массива из матрицы использовать функцию «Index Array» (п.5.2.3). При подаче на вход «Array» потока данных матрицы появятся два входа для индекса строки и столбца.
На входе индекса строки «index (row)» создать константу, соответствующую индексу строки, которую необходимо выделить из матрицы. Вход индекса столбца «disabled index (col)» оставить пустым.
5.2.5.4 Сохранить ВП под именем «Матрица.vi».
5.2.5.5 Запустить программу на выполнение с помощью однократного
«RUN».
Результат выполнения программы: в «Матрице» отобразится двумерный массив из 3 строк и 10 строк случайных чисел; ВП отобразит строку с индексом «0» в «Одномерный массив»; ВП отобразит строку с индексом «1» в
«Одномерный массив 2»; ВП отобразит строку с индексом «2» в
«Одномерный массив 3».
Проверить результат выполнения программы.
Рисунок 5.4
5.2.6 Задание 4. Выполнить задание самостоятельно.
38
Создать ВП, который формирует массив из 10 случайных чисел в диапазоне от 0 до 100, затем изменяет порядок элементов в массиве таким образом, чтобы элемент массива с индексом 0 стал элементом с индексом 10, элемент с индексом 1 стал элементом с индексом 9 и т.д.
Использовать функцию «Reverse 1D Array».
Сохранить ВП под именем «Перевернутый массив.vi».
5.3 Содержание отчета