Реферат по предмету "Информатика, программирование"


Поиск экстремума двумерной функции при помощи LabVIEW

СодержаниеВведение1. Программный комплекс LabVIEW2. Программирование, основанное на потоках данных3. Достоинства LabVIEW
4. Поиск экстремумадвумерной функции
5. Поиск экстремума
6. МетодГаусса-Зейделя
Заключение
Список литературы
Введение
Воснове технологии использования LabVIEW лежит комбинированное моделированиесистем на ЭВМ, включающее аналитическое, имитационное и натурное.
Дляаналитического моделирования характерно то, что алгоритм функционированиясистемы записывается в виде некоторых аналитических соотношений(алгебраических, интегро-дифференциальных, конечно – разностных и т.п.) илилогических условий. При имитационном моделировании алгоритм функционированиясистемы воспроизводится во времени с сохранением логической структуры ипоследовательности протекания элементарных явлений, составляющих процесс.
Натурныммоделированием называют проведение исследования на реальном объекте свозможностью вмешательства человека в процесс проведения эксперимента ипоследующей обработки результатов эксперимента на вычислительной технике.
Отличиемодельного эксперимента от реального заключается в том, что в модельномэксперименте могут быть реализованы любые ситуации, в том числе «невозможные» иаварийные, что в силу разных причин бывает недопустимо при работе с реальнымиобъектами. Все представленные виды моделирования могут быть реализованы сиспользованием системы программирования LabVIEW. LabVIEW может успешноприменяться в образовательных и научных целях, при промышленной автоматизации,в проектных и коммерческих структурах, связанных с тестированием и измерениемкаких-либо параметров, их анализом, визуализацией результатов, созданием базданных, использованием компьютерных сетей.
1. Программный комплекс LabVIEW
LabVIEW (LaboratoryVirtual 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 предусмотрена возможностьвизуального представления двумерной функции отклика, когда отклик и факторызаданы массивами. Для этого используется графический индикатор 3D Surface Graph (рис. 1).
На его входы “x vector” и “y vector” подаются массивы переменных х и y, а на вход “z matrix” – трехмерный массив z(x,y).
При проектированиитипичной является задача оптимизации, то есть определения такой комбинациизначений факторов, при которых отклик принимает экстремальное значение. Этазадача может быть решена аналитически, если установлена функциональная связьотклика с факторами, или экспериментально, когда функция отклика Y(X) неизвестна, но имеется возможность измерить значения Y при различных комбинациях уровнейфакторов х1, х2, …хп. В последней ситуациииспользуются поисковые методы.
5. Поиск экстремума
В поисковых методахэкстремальное значение достигается с помощью последовательных процедур:
а) определениенаправления движения из данной точки по результатам специально организованногоэксперимента;
б) организации движения внайденном направлении и
в) многократноеповторение этих процедур до достижения точки экстремума.
В LabVIEW реализованы два метода поискаэкстремума: симплекс-метод наискорейшего спуска (Downhill Simplex nD) и метод сопряженных градиентов (Conjugate Gradient nD). На рис. 2 показана процедура поиска экстремумасимплекс-методом. Здесь тонкими линиями изображены линии постоянного уровняотклика.
/>

Рис 2
/>

Рис 3

Пусть начальное значениефакторов отображается точкой 1. Для организации поиска минимума двумерногоотклика задаются произвольно еще две точки, так чтобы треугольник 123 был равносторонним.Для каждой точки находится значение отклика, и та точка, для которой значениеотклика максимально, зеркально отображается относительно линии, соединяющей дведругие точки. На рисунке – это точка 2, и она отображается в положение 4.Теперь рассматривается треугольник 134: максимальным значение отклика будет дляточки 3 и она отображается в положение 5. Процедура продолжается пока недостигается точка минимума. Это будет соответствовать круговому или возвратномудвижению точки.
На рис. 3 показанаорганизация градиентного поиска. Градиентом функции y(x1, x2) называется вектор с координатами, равными частнымпроизводным функции по соответствующим факторам. Градиент направлен в сторонумаксимальной крутизны поверхности отклика. Движение по направлению к минимумупроизводится следующим образом. Для начальной точки 1 находится градиент и внаправлении обратном градиенту осуществляется перемещение на один шаг. Дляновой точки опять находится градиент и производится перемещение на один шаг. Ит. д., пока не будет достигнут экстремум. Признак достижения экстремума –изменение аргумента градиента на 180 градусов.
/>

Рис. 4
Наиболее простым вреализации является метод покоординатного поиска (метод Гаусса – Зейделя).Поиск производится сначала по одной из координат до достижения местногоэкстремума, потом аналогично по другой координате и т.д., пока не будетдостигнут экстремум функции (рис. 4). В процессе поиска постоянно сравниваетсятекущее значение отклика с предыдущим значением. Изменение знака этой разностиговорит о достижении местного экстремума и о необходимости перехода к поиску подругой координате.
6. МетодГаусса-Зейделя
В лабораторной работеметод Гаусса-Зейделя используется для поиска максимума двумерной функции
z = exp{[(x – x0)2 + (y – y0)2]/b}.                                                    (1)
Эта функция симметричнаотносительно плоскостей x = x0и y = y0, поэтому поиск завершается за два этапа: поиск покоординате х и поиск по координате у. Структурная схема программы виртуальногоприбора приведена на рис. 5.
/>
экстремум двумерная функция программный

Координаты начальнойточки xнач и yнач и величина шага поиска Δ задаются с лицевой панели.Напомним, что шаг поиска это величина приращения координаты за одну итерацию.Шаг поиска берем одинаковым по обеим координатам: Δх = Δу = Δ.
Рассмотрим, какпроизводится определение направления поиска. Считаем, что поиск начинается покоординате х. Сначала рассчитываются значения отклика в начальной точке z = z(xнач, yнач) и отстоящих от нее по координате х на величину δх всторону увеличения и уменьшения координаты: z1 = z(xнач + δх, yнач) и z2 = z(xнач – δх, yнач). Величина δх должна быть не больше шага поискаΔх. В зависимости от соотношения между z, z1 и z2 принимается решение о направлении поиска. Если z2 z >z1, то координата х должна уменьшаться, шаг Δх =-Δ отрицателен. Эти ситуации показаны на рис. 6 а) и в) для начальнойточки, находящейся вблизи максимума.
/>
Рис. 6
Если же z > z1 и z >z2 (рис. 6 б), то поиск проводить не нужно, так какточки, более близкой к экстремуму, при выбранном шаге поиска нет. Анализируязаписанные соотношения между z, z1 и z2, замечаем, что шаг Δx должен быть положительным, если z
Блок-схема программыопределения направления поиска приведена на рис. 7а). Текст программызаписывается в структуре Formula Node (примертекста представлен на рис. 7 б).
/>
Рис. 7
После определениянаправления поиска производится изменение координаты х в сторону достижениямаксимума добавлением к х значения Δх в структуре While (рис. 8), пока вычисленное текущее значение z не станет меньше предыдущего. Замаксимальное значение zпринимается предыдущее значение.
/>
Рис. 8
Условием выхода из цикла While является равенство нулю шага поиска dx или отрицательная разность текущегои предыдущего значений z.Выводятся массивы переменных х, у и z для формирования траектории поиска и последние значения переменных х иу, которые являются начальными координатами для поиска по координате у.
Оценим ошибку определенияэкстремума. Ее значение можно определить, исследуя процесс поиска вблизимаксимума. Рассмотрим подробнее эту ситуацию (рис. 9).Так как z(x)
/>
Рис. 9
Ошибка – это разностьмежду истинной xmист и рассчитанной xm координатами максимума. Чему равномаксимальное значение ошибки? Если уменьшать х, то z(x) будетуменьшаться, а z(х + Δх) увеличиваться.Когда они сравняются, ошибка будет равна Δх/2. При дальнейшем уменьшении хзначение z(х + Δх) становится большезначения z(х) и за максимальное значениепринимается z(х + Δх). Ошибка становитсяравной -Δх/2. Таким образом, ошибка может принимать значения от -Δх/2до Δх/2. Если координаты начальной точки поиска равномерно распределены вобласти определения функции z(x, y), то и ошибка равномерно распределена в интервале(-Δх/2, Δх/2).
Видим, что на ошибку невлияет величина отклонения координаты δх, использованная при определениинаправлении поиска. Малое отклонение δх обеспечивает более точноеизмерение производной, но приводит к дополнительному шагу поиска и возвращениюк исходной точке, что мы видели на примере рис. 9. Поэтому целесообразно братьδх равным максимально возможному значению, то есть шагу поиска.
Аналогично осуществляетсяпоиск по координате у. Выходные переменные х, у и z структуры While,осуществляющей изменение координаты у, выводятся в виде массивов (как на рис 8)для формирования траектории поиска. А для индикации координат точки максимумавыводятся последние значения переменных х, у и z.
Объединение массивовкоординат х, у и z, сформированныхструктурами While, производится функцией Build Array, поставленной в режим формирования одномерногомассива (щелкнуть ПКМ на Build Array и враскрывшемся меню активизировать Concatenate Inputs).
Для индикации траекториипоиска используется графический индикатор 3D Curve Graph (рис. 10). Схема подсоединения к входам “x vector”, “y vector” и “z vector”, а также схема формирования массивов показана нарис. 11. На входы функций подаются одномерные массивы.
/>

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

Список литературы
1.  Н.А. Виноградова, Я.И. Листратов,Е.В. Свиридов. «Разработкаприкладного программного обеспечения в среде LabVIEW». Учебное пособие – М.:Издательство МЭИ, 2005.
2.  www.automationlabs.ru/
3.  digital.ni.com/
4.  www.labview.ru/
5.  ru.wikipedia.org/


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Информационно-учетная система малого бизнеса. Виртуальный магазин
Реферат Жизненная история и спортивная карьера олимпийца: основные положения международного исследовательского проекта
Реферат Компьютеризация реализации образовательной технологии система развивающего обучения ДБ Эльконина
Реферат Гражданин и государство
Реферат Параметры транзисторов
Реферат Духовная культура Волжской Булгарии
Реферат Спасо-Преображенская пустынь у Медвежьих озер
Реферат Кельтская цивилизация
Реферат Prejudice Essay Research Paper PREJUDICEAre you prejudice
Реферат Binary Systems Essay Research Paper Binary systems
Реферат "Психосинтез: формирование или перестройка личности
Реферат Банковская система Франции 3
Реферат Ii международная научно-практическая конференция Государственное и муниципальное
Реферат Рецензия на пьесу «Свои люди – сочтёмся!» А.С. Островского
Реферат 14 ноября – Всемирный день диабета