АВТОМАТИЗАЦИЯ ПРОЦЕССОВ ПОСТРОЕНИЯ МОДЕЛЕЙ УПРАВ- ЛЕНИЯ

advertisement
УДК 518
А.Б. НЕЧАЕВА, В.И.РАКОВ
А.В. NETCHAEVA, V.I. RAKOV
АВТОМАТИЗАЦИЯ ПРОЦЕССОВ ПОСТРОЕНИЯ МОДЕЛЕЙ УПРАВЛЕНИЯ
AUTOMATION THE PROCESSES OF CONSTRUCTION MODELS OF
CONTROL
Предложена программная система для построения аналитических описаний нелинейностей в моделях
управления.
Ключевые слова: управление, модель, интерполяция
The program system for creation of analytical descriptions of not linearities in control models is offered.
Keywords: control, model, interpolation.
АКТУАЛЬНОСТЬ.
При построении математических моделей процессов управления, при осуществлении
работ по проектированию систем управления важную роль играют все те инструментальные
средства, которые обеспечивают решение дифференциальных уравнений управления:
dYi
 f i (Y1 , Y2 ,..., Yn , X 1 , X 2 ,..., X m , i ( X 1 , X 2 ,..., X m , Y1 , Y2 ,..., Yn ), t ), i  1,2,..., n , (1)
dt
где Yi – выходные параметры, X 1 , X 2 ,..., X m – входные параметры САУ, f i –функционалы
или операторы,  i ( X 1 , X 2 ,..., X m , Y1 , Y2 ,..., Yn ) - нелинейные функции, отражающие математические модели датчиков, исполнительных механизмов и объектов управления.
Переход к цифровому управлению связан с построением численного метода, приспособленного к конкретному виду (1), с поиском оптимального алгоритма решения, гарантирующего минимальное количество выполняемых в алгоритме операций, включая вычислительные, логические и интерфейсные операции, с предварительной обработкой всех нелинейных функций в (1), для того, чтобы было возможным применение численного метода на
любой сетке численных значений аргумента.
Не касаясь вопросов построения численного метода и алгоритма решения, предварительная обработка нелинейностей, как правило, представляет собой аппроксимацию нелинейностей: а) интерполяционными способами; б) среднестепенными методами; в) методиками равномерного приближения.
Основные сложности такого описания функций сводятся к следующему. Во-первых,
для использования интерполяционного подхода отсутствует способ выбора узлов для построения на них аппроксимирующих функций, удовлетворяющих заданной погрешности
приближения. Во-вторых, для равномерных приближений обобщенная теорема Чебышёва,
определяющая обобщенный многочлен наилучшим на замкнутом интервале для непрерывной на этом интервале функции, требует отклонение аппроксимирующей функции от исходной в совокупности точек на одинаковые расстояния с чередованием знака. Это практически
ведёт к существенному отклонению уже первой производной аппроксимирующей зависимости от первой производной приближаемой функции. В-третьих, при использовании степенных приближений и, в частности, среднеквадратичных, форма аппроксимирующей функции
может разительно отличаться от приближаемой наличием значительного числа «кратковременных» всплесков, что может кардинально изменить характер производных всех степеней.
Учитывая в целом особую чувствительность континуальной модели (1) к производным любой её нелинейной функции и то, что равномерные и степенные приближения существенно изменяют производные, из отмеченных направлений более предпочтительным представляется использование интерполяционного подхода при построении аналитических опи-
саний. Однако интерполяционная методика приводит к немалым трудностям прикладного
характера, поскольку известные системы моделирования не ориентированы на поиск подходящих аналитических описаний нелинейных функций для решения (1) тем более, когда нелинейности заданы массивами измеренных значений или имеют графическое представление
(например, с экрана осциллографа, самописца, томографа).
Так, например, системы моделирования MatLab, MathCad, Maple 5, обладающие самыми мощными графическими и вычислительными возможностями, не предоставляют средства для решения задач описания нелинейностей в контексте решения уравнений управления. Они требуют дополнительное программирование, что по существу означает создание
программной системы моделирования по построению аналитических описаний нелинейностей, но только на базе инструментария MatLab, MathCad, Maple 5. Это не всегда удобно по
двум причинам. Во-первых, среда MatLab, MathCad, Maple 5 является коммерческим продуктом относительно высокой стоимости. Во-вторых, описание приложений в этих системах
представлено достаточно скудно, что не всегда позволяет эффективно создавать программные системы. В этом плане рассуждений существенно проще создавать инженерноориентированные программы для построения аналитического описания нелинейностей в известных системах автоматизации программирования Lazarus, Dev-C++, Eclipse, поскольку
при этом не требуются ни покупки программных продуктов, ни приобретения всевозможных
ноу-хау по их использованию.
Таким образом, становится очевидной актуальность создания программных инструментальных средств по построению всех элементов системы моделирования процесса управления, включая программные средства описания нелинейностей.
В работе предложена программная система, реализующая поиск описаний нелинейностей посредством новой интерполяционной формулы для малого числа узлов интерполяции.
ТЕХНОЛОГИЯ ОПИСАНИЯ ФУНКЦИИ
Известные методы аппроксимации [1] требуют использовать, во-первых, сугубо заданные классы базисных функций (полиномы, тригонометрические функции, экспоненты и
пр.), во-вторых, не позволяют менять базис без изменения структуры аппроксимирующей
функции, что существенно снижает возможности построения подходящего аналитического
описания для исходной нелинейной зависимости, и, наконец, в-третьих, не обеспечивают регулирование особенностей аппроксимирующих функций, то есть тех функций, с помощью
которых строится аналитическое описание. Между тем на практике нередко требуется целенаправленно формировать аппроксимирующую функцию более пологой или более крутой,
более сжатой или растянутой на требуемом интервале, в определенной области плоскости, в
окрестности конкретной точки или тогда, когда надо скорректировать какую-либо производную в отдельной точке аппроксимирующей функции (и её кривой).
Определим структуру аппроксимирующей функции в виде:
n
F ( x)   yi  hi ( x) ,
(2)
i 1
где hi (x) - характеристические функции, заданными на совокупности узлов аппроксимации
xi (i  1,2,..., n) исходной нелинейности:
{( xi ; yi ), i  1,2,..., N, i  j : xi  x j } ,
(3)
когда n  N   , удовлетворяющие условиям:
hi ( xi )  1, hi ( x j )  0 (i  j ), i, j  1,2,..., n.
(4)
Здесь N – количество точек исходной нелинейности, n – число узлов аппроксимации
(интерполяции) и классическим решением задачи интерполяции является формула Лагранжа:
n
n
( x  x0 )  ( x  xm1 ) ( x  xm1 )  ( x  xn )
F ( x)   yi  hi ( x)   y m
. (5)
( xm  x0 )  ( xm  xm1 ) ( xm  xm1 )  ( xm  xn )
i 1
m 0
Соотношение (5) абстрагировано от реальности процесса формирования F (x ) двумя
обстоятельствами: а) не учитывается технология вычисления, которая в виду всевозможных
погрешностей выполнения операций (погрешностей округления) не даст точного (правильного) построения интерполяционного полинома; б) не учитываются преобразования, присущие процессу и вычисления, и измерения.
Соотношение (5) представляется как реализация операторов алгебраического сложения,
деления и умножения. Если ограничиться преобразованиями, присущими только непосредственно числителю и знаменателю в формуле (5), то можно отметить следующее.
Во-первых, надо многократно осуществить вычисления для получения истинного значения результата операции ( x  xi ) (i  m) . Однако конкретные значения x и xi являются
вначале результатом измерения, а потом результатом ограничения при сохранении этих измеренных значений в памяти ЭВМ. Это означает, что в реальности результатом вычисления
выражения ( x  xi ) при конкретном i является не значение разности измеренных x и
xi (измеренных или не подверженных ограничениям при сохранении), а некоторая функция
преобразования этой истинной разности gi , являющаяся фактически структурообразующей
функцией g i :
(6)
( x  xi )  g i ( x  xi ) .
Во-вторых, вполне естественно считать, что xi (i  1, 2, ..., n) структурообразующие
функции gi ( x  xi ) будут одинаковыми для всех ( x  xi ) , поскольку технике вычислений характерны однотипные измерения, однотипное сохранение и однотипное вычисление:
xi (i  1, 2, ..., n) : gi ( x  xi ) = g ( x  xi ) .
(7)
Тогда интерполяционная формула (4) трансформируется в выражение:
n
n
g ( x  x0 )  g ( x  xm1 )  g ( x  xm1 )  g ( x  xn )
F ( g ( x))   yi  hi ( x)   ym
(8)
g ( xm  x0 )  g ( xm  xm1 )  g ( xm  xm1 )  g ( xm  xn )
i 1
m 0
i  j : g ( xi  x j )  0 & g (0)  0 .
при условии того, что:
(9)
Другими словами, при использовании формулы Лагранжа (5) неминуемо возникновение особенностей интерполяционной функции F ( g ( x)) , обусловленных характером структурообразующих g ( x  xi ) .
Структура формулы (8) определяет основные мероприятия технологии описания
функции: 1) задание исходной нелинейности и интервала интерполяции; 2) задание структурообразующей функции; 3) выделение узлов и построение интерполирующей функции (8); 4)
оценка погрешности и принятие решения об окончании или продолжении процесса поиска
описания.
СТРУКТУРА ПРОГРАММНОЙ СИСТЕМЫ
Для оценки осуществимости отмеченных мероприятий технологии описания функции
выбрана простейшая структура программной системы с её интерфейсом (рис. 1) и функционалом (рис. 2).
К основным функциям интерактивного взаимодействия (рис. 1) при построении формального описания отнесены следующие:
1) задание интервала интерполяции (задание интервала);
2) задание исходной нелинейности и построение графика (задание функции и отображение функции);
3) задание структурообразующей функции и выбор узлов интерполяции;
4) построение (отображение) обобщенного полинома и полинома Лагранжа;
5) построение функции ошибки;
6) сервисные функции (сохранения и загрузки данных, просмотра графиков структурообразующей функции и формального вида построенного обобщенного полинома (аппроксимирующей функции), изменения количества точек отображаемых графиков).
Выход
Головной модуль
Задание
интервала
Выбор узлов
интерполяции
Задание
функции
Настройки
Задание структурообразующей
функции
Отображение функции
Отображение
полинома Лагранжа
Построение
функции
ошибки
График структурообразующей функции
Отображение
обобщенного
полинома
Вид полинома
Файл
Загрузить
Количество
точек на
интервале
Сохранить
Рисунок 1 – Основные функции интерактивного взаимодействия при построении
формального описания
Графический
процессор
Супервизор
Текстовый интерпретатор
Организация интерактивного взаимодействия (с человеком-оператором)
Интерполятор по новой формуле
Рисунок 2 – Основной функционал программной системы
Функционал программы (рис. 2) предназначен для построения аналитических описаний нелинейных функций, что обусловило четыре основных исполнительных модуля: 1) текстовый интерпретатор (считывание строки, вводимой в поле, и её распознание); 2) модуль
графического процессора (построения графиков необходимых функций); 3) модуль интерполятора для расчета данных при построении обобщенного полинома и полинома Лагранжа; 4)
головной модуль (супервизор), организующий взаимодействие между всеми функциональными модулями, включая интерактивную связь с человеком.
СКРИНШОТЫ И КОММЕНТАРИИ К ПРОГРАММНОЙ СИСТЕМЕ
Работа с программой начинается с ввода входных данных (интервала интерполирования, исходной нелинейности) и построения графика заданной функции (рис. 3) посредством
текстового интерпретатора, который распознает степенные, логарифмические, экспоненциальные, тригонометрические функции и строит график по нажатию кнопки «enter».
Чтобы построить обобщенный полином Лагранжа, необходимо задать структурообразующую функцию в специально отведенном поле, затем нажатием левой кнопки мыши выбрать узлы интерполяции, учитывая, что при каждом нажатии левой кнопкой на графике
строится обобщенный полином Лагранжа (рис. 4).
Для сравнения можно построить полином Лагранжа, выбрав соответствующий флажок на форме (рис. 5) и построить функцию ошибки (рис. 6).
Кнопка «Очистить» позволяет очистить экран. Кнопка «Откат» удаляет последний
выбранный узел интерполяции, что позволяет проводить множество экспериментов.
В программе реализовано традиционное меню с вкладками «Файл», «Настройки»
«Выход». Вкладка «Файл» позволяет сохранять и загружать данные, вкладка «Настройки»
позволяет посмотреть график структурообразующей функции и аналитическое выражение
построенной аппроксимирующей функции, задать количество точек отображаемых графиков.
Рисунок 3 – Ввод исходных данных
Рисунок 4 – Задание структурообразующей, графический ввод узлов интерполяции и
построение аппроксимирующей функции (обобщенного «полинома» Лагранжа)
Рисунок 5 – Построение полинома Лагранжа для сравнения
Рисунок 6 – Построение функции ошибки
ОСНОВНЫЕ ВЫВОДЫ
1. Предложена программная система, реализующая поиск аналитического описания
нелинейной зависимости посредством интерполяционной формулы на структурообразующих
функциях.
2. Система позволяет регулирование особенностей аппроксимирующих функций оперативной заменой их структурообразующих.
3. Возможно построение подходящих аппроксимирующих функций на малом числе
узлов интерполяции, что является существенно важным фактором при построении описаний
нелинейных функций для континуальных моделей управления.
4. Программная система полностью автоматизирует процесс построения аналитических описаний, оставляя человеку анализ и принятие решения по получению подходящей
аппроксимации.
СПИСОК ЛИТЕРАТУРЫ
1. Раков В.И. Моделирование и информационные системы в интерактивной аппроксимации: учебное пособие. Часть 1. Методика описания. – М.: Изд. РАЕ, 2012. – 112 с.
2. Хемминг Р.В. Численные методы. – М.: Наука, 1972. – 400 с.
Работа выполнена при поддержке «Госуниверситет-УНПК» по теме «Разработка
программной системы поддержки процесса управления в предаварийных состояниях для
восстановления нормальной работы», приказ №7-н/26 от 23.10.13.
Нечаева Анастасия Борисовна
Студент гр. 32ПИ кафедры
«Информационные системы»
Госуниверситет-УНПК, г.Орел
Тел.: + 7(4862) 76-19-10
E-mail: nechaevastasya@yandex.ru
Раков Владимир Иванович
д.т.н, профессор,
Госуниверситет – УНПК,
Тел.: + 7(4862) 76-19-10; 8 961 624 46-10
E-mail: rakov2010vi@mail.ru
Download