Содержание к диссертации
Введение
Глава 1. Состояние вопроса 9
1.1. Графические языки представления моделей технических устройств 11
1.2. Методы моделирования электротехнических систем 19
1.3. Математические ядра и математические библиотеки 21
1.4. Выводы 23
Глава 2. Развитие методов моделирования электротехнических систем 24
2.1. Моделирование на основе итерации токов 24
2.2. Моделирование на основе итерации потенциалов 35
2.3. Сравнительный анализ методов 42
2.4. Выводы 44
Глава 3. Программный комплекс для имитационного моделирования электротехнических систем 45
3.1. Модульная структура моделирующего программного комплекса 45
3.2. Графический интерфейс для построения чертежей математических моделей 47
3.3. Математическое ядро с поточной моделью управления 57
3.4. Серверы визуализации результатов и серверы интерактивных воздействий на модель 83
3.5. Обзор демонстрационных моделей программного комплекса 85
3.6. Выводы 89
Глава 4. Моделирование технических устройств и систем, входящих в состав ветроэнергетической установки 91
4.1. Описание ветроэнергетической установки 91
4.2. Имитационные модели устройств и систем ветроэнергетической установки 93
4.3. Выводы 107
Заключение 108
Литература 111
Приложение 1 Альбом скриншотов 121
- Методы моделирования электротехнических систем
- Моделирование на основе итерации потенциалов
- Графический интерфейс для построения чертежей математических моделей
- Имитационные модели устройств и систем ветроэнергетической установки
Введение к работе
Актуальность темы.
Математические программы, предназначенные для моделирования электротехнических систем, являются инструментами интеграции знаний о существующих технических решениях и позволяют сократить время проектирования изделий за счет исключения повторений необходимых исследовательских работ.
Позволяя выполнять расчеты режимов работы цепей любой сложности, моделирующие программы конкурируют с классическими методами теории расчета электрических цепей. И должны вытеснять их из инженерной практики. Но классические методы доминируют. Компьютеры используются лишь как инструмент качественного ввода / вывода данных. Их вычислительные ресурсы задействованы не в полной мере, поскольку классические методы разрабатывались для вычислений с применением карандаша и бумаги, а не микропроцессоров. Налицо не полное имеющихся возможностей.
Большая часть представленных на рынке программ для моделирования электрических цепей (программ физического моделирования), используют библиотеку SPICE [14], которая была разработана в Калифорнийском университете (Д. Пеперсон, Л. Нагел). К ним относятся Electronics Workbench, Micro-Cap, VNSpice, XSpice, Triana. Список можно продолжить, но ограничения, которые накладывает на графический интерфейс ядро этих программ - библиотека SPICE - ни в одной из программ не были преодолены. В Европе разрабатывались альтернативные программные комплексы: Dymola (Ideon Research Park, Швеция) [109], 20sim (Controllab Products B.V., Нидерланды) [110], Dynast (Пражский университет) с собственными математическими решателями. В России и СНГ на сегодняшний день активно разрабатываются программные комплексы: ПК «МВТУ» (МГТУ им. Баумана) [108], Model Vision Studium (СПбГУ)
[8,42,43], FASTMEAN (СГУТ совместно с УГТУ), КОПР АС (Технический Университет Молдовы), ИСМА (НГТУ), Stratum (РЦИ-ОЦНИТ) [112].
Во всех перечисленных программных продуктах редакторы моделей поддерживают визуальное проектирование. В зависимости от используемого подхода, их можно отнести к программам блочного моделирования (используют блок-схемы в виде передаточных функций), или физического моделирования (используют неориентированные элементы и контакты). На практике, при проектировании сложных систем, для решения одной задачи специалисты используют несколько моделирующих программ. В программе блочного моделирования составляется математическая модель системы в целом и выполняется структурный анализ, в программе физического моделирования осуществляется проектирование отдельных модулей с уточнением параметров элементов и особенностей режимов работы. Общим недостатком программ физического моделирования является использование закрытых моделей технических устройств - нет возможности изучить или модифицировать соответствующие системы дифференциальных уравнений. Недостаток программ блочного моделирования заключается в сложности моделей.
Перспективный путь развития компьютерного моделирования состоит в объединении двух подходов к построению моделей.
Целью диссертации является разработка программного комплекса для имитационного моделирования электротехнических систем с применением открытой технологии построения моделей. Для достижения поставленной цели в работе решались следующие задачи:
разработка нового графического языка представления открытых иерархических моделей;
поиск метода расчета цепей, пригодного для использования в графической форме;
разработка моделей базовых элементов;
проектирование модульной структуры моделирующей программы;
разработка графического инструмента для представления моделей и программирования математических ядер (библиотека расширения редактора векторной графики MS Visio);
разработка математического ядра;
разработка оптимального интерфейса для конфигурирования математических ядер с поточной моделью управления;
разработка серверов визуализации и интерактивных воздействий;
разработка информационной структуры для хранения математических моделей.
Методы решения задач.
Для решения перечисленных задач применялись: методы теории цепей, численные методы, методы теории подобия, методы теории управления, программирование на языках C++, VBA, JavaScript.
Основные результаты и положения, представляемые к защите:
Графический язык представления моделей, интегрирующий физические схемы и блок-схемы.
Графическое представление метода построения моделей технических устройств на основе итерации потенциалов в узлах цепи.
Программный комплекс для моделирования электротехнических систем.
Интерфейс конфигурации математических ядер с поточной моделью управления.
Научная новизна.
Разработан графический язык представления моделей, интегрирующий блок-схемы и физические схемы, который обеспечивает полную деинкапсуляцию моделей и позволяет работать с ними на различных иерархических уровнях.
Метод построения моделей технических устройств на основе итерации потенциалов в узлах цепи сформулирован в новой форме (в виде графических чертежей).
3. Разработан интерфейс конфигурации математических ядер с поточной моделью управления.
Научная и практическая ценность.
Разработанный программный комплекс используется в образовательном процессе и для решения инженерных задач.
Предложенный язык графического представления моделей в виде гибрида блок-схем и физических схем нагляднее альтернатив (VisSim, Simulink), и дает возможность пользователю модифицировать встроенные модели устройств (в отличие от Electronics WorkBench, PSpice).
Подтверждена эффективность схемы разделения труда разработчиков моделирующих программ, когда математическое ядро может создавать одна фирма, а графический инструмент его конфигурации — другая.
Предложен эффективный способ распространения и инсталляции математического ядра.
Содержание работы.
В первой главе приводится обзор литературы и существующих программных комплексов, используемых для моделирования электротехнических систем. Рассматриваются такие аспекты, как языки графического представления моделей, методы построения моделей электротехнических систем и решающие модули моделирующих программ.
Во второй главе описываются методы построения моделей электротехнических систем на основе итерации токов и итерации потенциалов. Приводятся разработанные модели элементов. Указываются достоинства и недостатки каждого метода.
В третьей главе описывается разработанный программный комплекс SimLib4Visio. В начале главы предлагается модульная структура моделирующей программы. Далее описывается функциональность и архитектура каждого модуля. Подробно описан новый графический язык представления моделей.
В четвертой главе диссертации описаны модели технических устройств и систем, входящих в состав ветроэнергетической установки ВЭУ-3, которые были составлены при внедрении программного комплекса на предприятии ООО «ГРЦ-Вертикаль».
В заключении перечислены основные результаты и выводы диссертационной работы. Приводятся данные об апробации результатов, рассматриваются направления дальнейших исследований и разработок.
В приложениях приведены примеры моделей электротехнических систем, представлена совокупность библиотечных моделей устройств, перечислены элементы графического языка.
Методы моделирования электротехнических систем
Компьютерное моделирование устройств и систем предполагает предварительное описание их на языке математики в виде, удобном для его алгоритмической реализации. Методы расчета электрических цепей представлены в любом учебнике по ТОЭ. Но ни один из них не исключает потребности в анализе и принятии решений, которые не поддаются строгой алгоритмизации. Этот факт вызывает затруднения у разработчиков моделирующих программ - классические методы не позволяют создать компьютерную программу, входной информацией для которой был бы чертеж электрической схемы, а выходной - система уравнений в подходящей для вычислений форме. Методы дорабатываются. Но существующие решения в ряде случаев являются «секретом фирмы», и это затрудняет доступ к информации. Прослеживаются три решения.
Первый подход основан на текстовой форме описания моделей базовых элементов схем замещения. Он упоминается в работах [2, 6, 52, 70]. Данный подход порождает семейство методов. Его традиционно придерживаются европейские разработчики моделирующих программ (Dymola [109], 20-Sim [ПО] и пр.). В России исследования в этом направлении выполняет коллектив авторов программ RL и Matrix_M. Для каждого элемента в сопроводительной документации приводятся формулы вариантов закона Ома из учебника по ТОЭ, но методы стыковки отдельных уравнений не разъяснены. Т.е. часть уравнений в общей системе (которая должна представлять модели узлов) скрыта от пользователя программы. Можно выдвинуть гипотезу о том, что решатели могут выбирать свободные переменные (можно вычислять падения напряжения по известным токам, или же вычислять токи по известным напряжениям) [2, 52]. Выбор свободных переменных определит либо одну совокупность уравнений (дополняющих общую систему), либо другую. Можно отметить еще одну степень свободы, предоставляемую текстовой формой описания моделей. Произвольно составленная система уравнений, как правило, преобразуется трансляторами в подходящую для вычислений форму. При выполнении этой процедуры возможно сокращение количества уравнений за счет исключения промежуточных и дублирующихся координат [15] (разработки в этом направлении ведутся авторами отечественного пакета Model Vision Stadium (MVS)[40,41]).
Модели, содержащие текстовое описание, не являются открытыми, поскольку невозможно изучить или изменить всю систему уравнений. Поддержка открытости стала возможной с появлением графических методов.
Метод построения моделей цепей, предполагающий итерацию токов, в завершенной форме, с представлением достаточного количества составленных на его основе моделей (для доказательства универсальности), был опубликован разработчиками программного комплекса «МВТУ» [108]. Авторам впервые удалось представить однозначно интерпретируемые чертежи блок-схем, соответствующие базовым элементам схем замещения, являющиеся неотъемлемыми атрибутами метода.
В диссертационной работе предложен метод построения моделей цепей на основе итерации потенциалов. Неотъемлемыми атрибутами метода являются шесть чертежей фрагментов блок-схем, которые соответствуют базовым элементам схем замещения (узлу цепи, активному сопротивлению, индуктивному сопротивлению, емкостному сопротивлению, источнику электродвижущей силы, источнику тока). Соединяя между собой упомянутые фрагменты блок-схем (в установленном порядке), можно составить завершенные модели реальных физических устройств, преобразующих энергию. Идея построения моделей, обозначенная шестью базовыми чертежами, может быть использована для расширения стандартного перечня элементов схем замещения (подразумеваются: идеальный математический диод, сопротивления с нелинейностями «сухое трение», «квадратичная ротационная нагрузка», и пр.). 1.3. Математические ядра и математические библиотеки
Другим направлением развития компьютерного моделирования является совершенствование решающих модулей. Общий математический аппарат решения систем дифференциальных уравнений известен и описан во многих математических и физических справочниках и учебниках [26, 75, 84, 87, 89, 92]. Классическая программная реализация расчетных алгоритмов также описана в литературе [51, 74, 79, 96]. Отдельно можно отметить работы: [49, 68] - об оптимизации расчетов каскадных моделей; [69] - о распараллеливании вычислений при решении систем линейных алгебраических уравнений; [106] — наиболее полное собрание алгоритмов численного решения алгебраических и дифференциальных уравнений на языке Си.
Классифицируя решения по организации математических решателей моделирующих программ, можно выделить группу математических библиотек и группу математических ядер. Математические библиотеки приводят систему уравнений к квадратной матрице (форма Коши). К ней подключают блок решателей - матрицу-столбец, в которую входят интеграторы, регистры задержки, звенья чистого запаздывания, устройства выборки-хранения, датчики итерационного решателя, входные и выходные координаты. После чего запускают вычислительный процесс. Разработкой математических библиотек традиционно занимаются фирмы Intel - Intel Math Kernel Library (г. Новосибирск), AMD - AMD Core Math Library, и многие другие. Большинство разработчиков моделирующих программ используют в качестве решающих модулей именно математические библиотеки. Выскажем мнение о том, что библиотеки в первую очередь предназначены для расчета полей в трехмерных сетках. Использование их для моделирования цепей -спорно. Цепи характеризуются малым количеством взаимосвязей между внутренними координатами, могут быть параметрическими или существенно нелинейными. В связи с этим, ряд публикаций по моделированию электротехнических систем посвящен оптимизации программных алгоритмов для работы с разряженными матрицами [7, 14, 16, 79, 80]. По мнению автора, все перечисленное снижает вычислительную эффективность математических библиотек. Разработчики отечественного пакета MVS обозначили основные способы преодоления названных затруднений [42,43].
Моделирование на основе итерации потенциалов
Идеальный или математический диод - это идеализированная математическая модель пассивного элемента энергетической цепи, который беспрепятственно пропускает ток в прямом направлении и не пропускает или оказывает очень большое сопротивление его движению в обратном направлении.
Модель математического диода невозможно построить на параметрической модели R-элемента. Такая модель конфликтует с методическим ограничением итерационного решателя математических ядер, в случае если Rd —»0 или Rdb — оо. Причина заключается в том, что использовать только разность потенциалов для переключений нельзя - на прямом участке характеристики она колеблется в итерациях вокруг нуля (погрешность решателя). Ток нельзя использовать на обратном участке по той же причине. Ситуация усложняется тем, что идея построения моделей на основе итерации потенциалов накладывает свое ограничение - ток должен быть сформирован самой моделью элемента.
Модель D-элемента показана на рис. 29. Ключом к пониманию принципа построения модели является тот факт, что когда выходной сигнал блока unknown меньше нуля, он ассоциируется с обратным напряжением на элементе, в противном случае - с прямым током.
Если математическое ядро находит баланс при положительном значении сигнала на выходе блока unknown, то состояние модели расшифровывается следующим образом. На выходе компаратора будет логический ноль, и мультиплексоры будут пропускать сигналы со среднего входа. Таким образом, выходной сигнал блока unknown - прямой ток диода - через правый мультиплексор будет возвращён в шинные проводники для передачи к моделям узлов. Через левый мультиплексор прямое падение напряжения (полученное по закону Ома умножением тока на параметр Rd) поступит на верхний сумматор для итерационного уравнивания разностью потенциалов, которая поступает с узлов и вычисляется нижним сумматором.
Если же математическое ядро находит баланс при отрицательном значении сигнала на выходе блока unknown, то состояние модели расшифровывается иначе. На выходе компаратора будет логическая единица, и мультиплексоры будут пропускать сигналы с нижнего входа. Следовательно, выходной сигнал блока unknown — обратное напряжение на диоде — через левый мультиплексор поступит на верхний сумматор для итерационного уравнивания с поступающей с узлов разностью потенциалов вычисленной нижним сумматором. Через правый мультиплексор обратный ток диода (полученный по закону Ома делением напряжения на параметр Rdb) будет возвращён в шинные проводники для передачи к моделям узлов.
И в том и в другом случае, к одному из узлов ток возвращается с инверсным знаком. Возможны вариации представленной блок-схемы. Например, при построении моделей более сложных устройств, на один из двух контрольных выходов удобней подавать не разность энергетических потенциалов и, а выходную координату компаратора, которая (в отличие от координат / и и) однозначно свидетельствует о том, на каком участке характеристики работает модель.
При сравнении двух описанных методов были сделаны выводы:- Метод итерации токов эффективнее по скорости расчета цепей с большим количеством последовательных соединений элементов. Цепи с преимущественно параллельным соединением элементов быстрее рассчитываются с применением метода, использующего итерацию потенциалов. - Использование метода итерации токов накладывает дополнительное ограничение на модели RLC-элементов: они являются псевдополярными. Кроме того, узлы реализуются двумя моделями (аккумулирующий токи узел и распределяющий). Модели узлов нельзя масштабировать (изменять количество выводов). Метод итерации потенциалов не накладывает подобные ограничения и позволяет использовать единую, масштабируемую модель узла с взаимозаменяемыми выводами и неполярные модели RLC элементов (указанное преимущество приводит также к существенному сокращению объема С-кода математического ядра).- При итерации потенциалов используются модели элементов с фиксированной блок-схемой, в то время как при итерации токов незначительные модификации моделей технических устройств могут стать причиной для перераспределения существенного количества узлов в схеме, переподключения псевдополярных RLC-элементов, и изменений знаков у сумматоров в их блок-схемах. Даже если реализовать алгоритм автоматической перестройки модели, это будет неудобно для пользователя, поскольку сложно будет отслеживать все изменения. По той же причине, при итерации токов теряет смысл деинкапсуляция моделей ниже уровня элементов схем замещения.- Модели, построенные на основе метода с итерацией потенциалов, характеризуются меньшим количеством последовательных вычислений, и, потенциально, в большей степени поддаются распараллеливанию по вычислительным ядрам процессора.
Исходя из сформулированных выводов, был сделан выбор в пользу метода итерации потенциалов. Данный метод является универсальным и подходит для составления моделей более сложных технических устройств. Остальные библиотечные модели технических устройств, имеющиеся в моделирующей программе SimLib4Visio, приведены в приложении 2.
Для проверки адекватности представленных моделей составлялись тестовые схемы, состоящие из 40-70 элементов (в эквиваленте до 400 математических блоков). Используемое для симуляции моделей математическое ядро конфигурировалось неоднократно для решения различных задач расчета цепей с большим количеством элементов (большой размерности). Исследования проводились как во временном домене, так и в частотном (прил. 3).
Графический интерфейс для построения чертежей математических моделей
Вариации архитектуры математических ядер довольно жестко ограничены возможностями компиляторов языков высокого уровня. Очевидно, что математическое ядро должно поддерживать от 100 до нескольких тысяч математических функций. Требуется формализация интерфейса настройки и управления математического ядра, поскольку справиться с таким громадным количеством функций, используя их ручной вызов, невозможно.
Ядро K2.SimKernel реализует классическую поточную модель управления процессом исполнения математических функций составляющих динамическую модель, очередность их исполнения устанавливается фактом готовности аргументов. К2-ядро реализуют три С++-класса: CBlkTemplate, CSimSpider и CSimRunner. Первый полиморфный класс CBlkTemplate, в соответствии с названием, представляет собой шаблон с виртуальными методами, реализуемыми библиотекой математических классов-потомков. Класс CSimSpider создает требуемое количество объектов, используя упомянутую библиотеку математических классов, и настраивает сеть передачи аргументов между ними, заполняя указатели на возвращаемые данные. Дополнительной задачей, возложенной на этот класс, является сортировка порожденных объектов и их упорядочивание в массиве согласно приоритету исполнения (готовности аргументов).
Последний класс, CSimRunner, подключает к настроенной сети математических функций явный и неявный решатели, или библиотеку идентификации и анализа. Он так же отвечает за управление процессом симуляции. Серверы визуализации и интерактивных воздействий подключаются к модели согласно той же технологии, что и любая математическая функция - с помощью соответствующих классов-потомков полиморфного класса CBlkTemplate.
Внутри математического ядра составляется рассчитываемая имитационная модель для созданной пользователем визуальной модели технического устройства или системы. Полиморфный класс CBlkTemplate содержит виртуальный метод Са1с(). Его наследуют классы, составляющие библиотеку математических функций. Каждый потомок реализует метод Са1с() в виде уникальной математической функции. Уточним возможности, которые предоставляет подобная организация библиотеки.
Во-первых, от каждого математического класса можно породить любое количество объектов. Это означает, что для обработки повторно встречающихся в модели математических функций будут использованы уникальные экземпляры объектов, каждый из которых будет иметь собственную область памяти для хранения возвращаемых значений Output[k]. В результате не будет наблюдаться «затирание» координат модели.
Во-вторых, в силу действующих стандартов для компиляторов языка C++, объекты порожденные от разных потомков полиморфного класса (CBlkTemplate), будут иметь реализации виртуальной таблицы функций (vtbl) одной размерности. Это означает, что их можно присвоить элементам одного массива MathBlock[i] (рис. 36). Что, в свою очередь, открывает возможности для создания автоматизированных процедур обслуживания объектов математического ядра. Так, например, процедура исполнения шага симуляции модели в моделирующей программе SimLib4Visio имеет вид: В графическом представлении, экземпляры математических объектов — это блоки на блок-схеме (см. нижний фрагмент рис. 36). Наличие у каждого математического объекта массива указателей на аргументы plnput[j] делает возможным (в графическом представлении) их соединение линиями связи в требуемом порядке. Эта операция осуществляется через интерфейс createWire() СОМ-сервера. Её результатом является присвоение значения указателя на элемент массива Output[k] одного объекта элементу массива plnput[j] другого объекта (см. цепочку повторяющихся фрагментов на рис. 36). Таким образом, совокупность показанных программных решений делает возможным создание моделей систем из любого требуемого набора симуляции, вызывается функция WinAPI Sleep(O), отдающая ЦПУ другим потокам / процессам. Поскольку исполнение одного шага симуляции не превышает 0,01 секунды, устройства ввода-вывода компьютера (клавиатура, мышь, дисплей) не блокируются. Если ядро получает задание создать модель, содержащую очень большое количество объектов-функций, то через каждую сотню в массив MathBlock[i] оно внедряет вспомогательный объект технического назначения, чей метод Са1с() содержит функцию Sleep(O). Описанная архитектура К2-ядра позволяет практически с предельным быстродействием осуществлять симуляцию динамических моделей, так как интерпретация задания (рабочего файла модели) осуществляется до начала симуляции.
Имитационные модели устройств и систем ветроэнергетической установки
Вычислительный модуль программы математического моделирования может быть либо математической библиотекой, либо математическим ядром. Неотъемлемым атрибутом библиотеки являются матрицы коэффициентов пространства состояний А, В, С и D, к которым подключаются решатели (дискретные квазианалоги интеграторов). Математические ядра не имеют такого атрибута. В них динамические модели представляются индивидуально настроенными экземплярами фрагментов исполняемого кода (т.е. функциями), между которыми установлена схема передачи аргументов. Имея вычислительное преимущество во временном домене (по причине отсутствия необходимости манипуляций с разряженными матрицами), математические ядра не имеют упорядоченной информационной структуры для анализа в частотном домене — матриц А, В, С и D. Перед разработчиками математических ядер стоит актуальная задача создания соответствующей идентифицирующей процедуры.
Идентификация компьютерной (дискретной) модели - алгоритмическая процедура, при выполнении которой математическое ядро рассчитывает численные значения коэффициентов линеаризованного образа модели, структура которой и параметры выбраны пользователем произвольно [23]. Результат представляется в виде объеденной ABCD-матрицы. Цель поиска коэффициентов состоит в предоставлении исходных данных для частотного, корневого и других видов анализа.
Представляемое ниже решение разработано авторами для математического ядра K2.SimKernel. Особенность идентифицируемой ABCD-матрицы заключается в том, что она составляется относительно всех основных решателей, а не только относительно интеграторов. В частности, в матрицу попадают коэффициенты разностных уравнений, уравнений с запаздывающим аргументом, дифференциальных уравнений, уравнений записанных относительно экстраполяторов нулевого порядка, алгебраических уравнений и уравнений, связывающих внутренние координаты системы с теми, что обозначены как входная и выходные.
Система уравнений, представленная относительно основных решателей Рассмотрим модель системы уравнений, представленную относительно основных решателей (рис. 44.). Правая шина образует матрицу координат системы [и]. Левая шина - это левая часть системы уравнений. Её образуют: [u z] - решетчатые координаты следующего такта [un+1]; [и е] - координаты с опережающим аргументом [u(t+r)]; [u s] - первые производные координат [du/dt]; [u sTe/(e-l)] - входные координаты экстраполяторов нулевого порядка; координаты, сводимые в итерационном процессе к нулю; и координаты, помеченные как выходные для SIMO-системы (где SIMO-система — система с одним входом и вектором выходов; z — оператор дискретного домена; s — оператор Лапласа; е - оператор запаздывания, в полной записи равен exp(sx); 1/е - звено чистого запаздывания). Правая и левая шины, в общем случае, связаны нелинейной функциональной зависимостью F(u). Линеаризация функции F(u) и ее представление в виде матрицы коэффициентов ABCD и есть задача идентификации компьютерной модели.
Упростим взаимосвязи в решателях (І/z, 1/е, 1/s, S&H), и объявим, что для синтеза выходного значения на текущем шаге они используют только историческую информацию о входном сигнале. Т.е., между значениями текущих выборок сигналов на входах и выходах нет зависимостей. Следовательно, соответствующие блоки (І/z, 1/е, 1/s, S&H), можно разделить на пары - генератор и приемник, как это сделано для блоков алгебраического решателя — imbiown и constraint (-0). Подобное упрощение разрывает все петли в графическом представлении модели, которыми через решатели связаны входные и выходные координаты функции F(u).
Итак, мы имеем нелинейную матричную функцию F(u), в которой нет обратных связей. Задача ее идентификации сводится к вычислению п векторов приращений выходных координат (п - размерность матрицы): - входной вектор, в котором координата с индексом і получила приращение А), п векторов приращений выходных координат, будучи отмасштабированы (поделены на величину приращения А входных координат [и]) составляют объединенную ABCD-матрицу линеаризованного образа модели.
Исполняемый код математического ядра реализует описанный алгоритм следующим образом. В некоторый произвольный момент времени пользователь останавливает процесс симуляции и активирует процедуру идентификации модели. Текущему моменту времени соответствует вектор координат системы и, значения которого отличаются от первоначальных. Это важно в случае, если функция F(u) нелинейная. Т.е. идентификация линеаризованного образа модели выполняется для текущего состояния системы, которое пользователь выбирает по своему усмотрению. Уточним, что в исполняемом коде модель представляет собой массив указателей на математические функции: