Смекни!
smekni.com

Поиск экстремума двумерной функции при помощи LabVIEW (стр. 1 из 2)

Содержание

Введение

1. Программный комплекс LabVIEW

2. Программирование, основанное на потоках данных

3. Достоинства LabVIEW

4. Поиск экстремума двумерной функции

5. Поиск экстремума

6. Метод Гаусса-Зейделя

Заключение

Список литературы


Введение

В основе технологии использования LabVIEW лежит комбинированное моделирование систем на ЭВМ, включающее аналитическое, имитационное и натурное.

Для аналитического моделирования характерно то, что алгоритм функционирования системы записывается в виде некоторых аналитических соотношений (алгебраических, интегро-дифференциальных, конечно – разностных и т.п.) или логических условий. При имитационном моделировании алгоритм функционирования системы воспроизводится во времени с сохранением логической структуры и последовательности протекания элементарных явлений, составляющих процесс.

Натурным моделированием называют проведение исследования на реальном объекте с возможностью вмешательства человека в процесс проведения эксперимента и последующей обработки результатов эксперимента на вычислительной технике.

Отличие модельного эксперимента от реального заключается в том, что в модельном эксперименте могут быть реализованы любые ситуации, в том числе «невозможные» и аварийные, что в силу разных причин бывает недопустимо при работе с реальными объектами. Все представленные виды моделирования могут быть реализованы с использованием системы программирования LabVIEW. LabVIEW может успешно применяться в образовательных и научных целях, при промышленной автоматизации, в проектных и коммерческих структурах, связанных с тестированием и измерением каких-либо параметров, их анализом, визуализацией результатов, созданием баз данных, использованием компьютерных сетей.


1. Программный комплекс LabVIEW

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) – это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (США). Первая версия LabVIEW была выпущена в 1986 году для Apple Macintosh, в настоящее существуют версии для UNIX, GNU/Linux, Mac OS и пр., а наиболее развитыми и популярными являются версии для Microsoft Windows.

LabVIEW используется в системах сбора и обработки данных, а также для управления техническими объектами и технологическими процессами. Идеологически LabVIEW очень близка к SCADA-системам, но в отличие от них в большей степени ориентирована на решение задач не столько в области АСУ ТП, сколько в области АСНИ.

2. Программирование, основанное на потоках данных

Графический язык программирования «G», используемый в LabVIEW, основан на архитектуре потоков данных. Последовательность выполнения операторов в таких языках определяется не порядком их следования (как в императивных языках программирования), а наличием данных на входах этих операторов. Операторы, не связанные по данным, выполняются параллельно в произвольном порядке.

В основе программирования в LabVIEW лежит понятие Виртуальных приборов (Virtual Instruments, VI). На лицевой панели, как и положено, располагаются элементы управления программой – кнопки, графики, выключатели и тому подобное. Блок-схема – это, по сути, и есть сама программа. При написании (а вернее создании, потому что писать приходится не так уж и много) программы используется такое понятие, как «поток данных» (Data Flow). Суть его в том, что все элементы программы (которые представлены графически) связываются между собой связями (проводами, нитками) по которым и происходит передача данных. В общем, описать это довольно сложно, лучше посмотреть на картинку, рис. 3.

Рис. 1. Простейший прибор.

Цифрами обозначены:

· Точки, элементы программы (Nodes)

· Терминалы индикаторов (Indicator Terminals)

· Связи (Wires)

· Терминалы управляющих элементов (Control Terminals)

Итак, в LabVIEW вы создаете пользовательский интерфейс (лицевую панель), с управляющими элементами и индикаторами. Управляющие элементы – это тумблеры, кнопки, поля ввода и прочие устройства ввода. Индикаторы – это графики, шкалы, лампочки, текстовые поля и тому подобное. После создания пользовательского интерфейса, вы добавляете программный код, который управляет объектами на лицевой панели. Этот код содержится в схеме (block diagram). Этот код чем-то напоминает собой блок-схему, хотя отличий много.

LabVIEW можно использовать для того, чтобы управлять различным оборудованием, таким, как, устройства сбора данных, различные датчики, устройства наблюдения, двигательные устройства (например, шаговые моторы) и тому подобное, а так же GPIB, PXI, VXI, RS-232 b RS-484 устройства. Также в LabVIEW имеются встроенные средства для подключения созданных программ к сети, используя LabVIEW Web Server и различные стандартные протоколы и средства, такие как TCP/IP и ActiveX.

Используя LabVIEW, можно создавать приложения для тестирования и измерений, сбора данных, управления различными внешними устройствами, генерации отчетов. Так же можно создать независимые исполняемые файлы и библиотеки функций, такие как DLL, так как LabVIEW – это полноценный 32-битный компилятор.

3. Достоинства LabVIEW

· Полноценный язык программирования

· Интуитивно понятный процесс графического программирования

· Широкие возможности сбора, обработки и анализа данных, управления приборами, генерации отчетов и обмена данных через сетевые интерфейсы

· Драйверная поддержка более 2000 приборов

· Возможности интерактивной генерации кода

· Шаблоны приложений, тысячи примеров

· Высокая скорость выполнения откомпилированных программ

· Совместимость с операционными системами Windows2000/NT/XP, Mac OS X, Linux и Solaris.

LabVIEW поддерживает огромный спектр оборудования различных производителей и имеет в своём составе (либо позволяет добавлять к базовому пакету) многочисленные библиотеки компонентов:

· для подключения внешнего оборудования по наиболее распространённым интерфейсам и протоколам (RS-232, GPIB 488, TCP/IP и пр.);

· для удалённого управления ходом эксперимента;

· для управления роботами и системами машинного зрения;

· для генерации и цифровой обработки сигналов;

· для применения разнообразных математических методов обработки данных;

· для визуализации данных и результатов их обработки (включая 3D-модели);

· для моделирования сложных систем;

· для хранения информации в базах данных и генерации отчетов;

· для взаимодействия с другими приложениями в рамках концепции COM/DCOM/OLE и пр.

Вместе с тем LabVIEW – очень простая и интуитивно понятная система. Неискушённый пользователь, не являясь программистом, за сравнительно короткое время (от нескольких минут до нескольких часов) способен создать сложную программу для сбора данных и управления объектами, обладающую красивым и удобным человеко-машинным интерфейсом. Например, средствами LabVIEW можно быстро превратить старый компьютер, снабжённый звуковой картой, в мощную измерительную лабораторию.

Специальный компонент LabVIEW – Application Builder, позволяет выполнять LabVIEW-программы на тех компьютерах, на которых не установлена полная среда разработки.

4. Поиск экстремума двумерной функции

Целью моделирования является, как правило, получение новых знаний об объекте моделирования. При проектировании – это определение лучшего варианта устройства, оптимальных параметров и т. д.

Любой объект исследования можно представить в виде “черного ящика” с определенным количеством входов X = (x1, x2, …, xn) и выходов Y = (y1, y2, …, ym). Входную переменную xi называют фактором, а выходную переменную yj – окликом. Зависимость Y(X) называется функцией отклика. Для получения полной информации о свойствах функции отклика в принципе необходимо проведение опытов во всех точках области определения факторов. Такой эксперимент называют экспериментом с полным перебором всех входных состояний или полным факторным анализом. Ясно, что если фактор является непрерывной переменной, то число испытаний должно быть бесконечным. Уменьшение количества испытаний при условии получения достаточно полной информации о функции отклика является целью планирования эксперимента.

Рис. 1

В LabVIEW предусмотрена возможность визуального представления двумерной функции отклика, когда отклик и факторы заданы массивами. Для этого используется графический индикатор 3DSurfaceGraph (рис. 1).

На его входы “xvector” и “yvector” подаются массивы переменных х и y, а на вход “zmatrix” – трехмерный массив z(x,y).

При проектировании типичной является задача оптимизации, то есть определения такой комбинации значений факторов, при которых отклик принимает экстремальное значение. Эта задача может быть решена аналитически, если установлена функциональная связь отклика с факторами, или экспериментально, когда функция отклика Y(X) неизвестна, но имеется возможность измерить значения Y при различных комбинациях уровней факторов х1, х2, …хп. В последней ситуации используются поисковые методы.

5. Поиск экстремума

В поисковых методах экстремальное значение достигается с помощью последовательных процедур:

а) определение направления движения из данной точки по результатам специально организованного эксперимента;

б) организации движения в найденном направлении и

в) многократное повторение этих процедур до достижения точки экстремума.

В LabVIEW реализованы два метода поиска экстремума: симплекс-метод наискорейшего спуска (DownhillSimplexnD) и метод сопряженных градиентов (ConjugateGradientnD). На рис. 2 показана процедура поиска экстремума симплекс-методом. Здесь тонкими линиями изображены линии постоянного уровня отклика.


Рис 2


Рис 3