
- •В.И. Королев, в.В. Сахаров, о.В. Шергина оценка параметров, моделирование динамических систем и электрических цепей в среде matlab
- •Санкт-Петербург
- •Рецензенты:
- •Isbn 5-88964-073-X © Королев в. И.,
- •Содержание
- •1. Идентификация параметров моделей систем на основе квадратичных методов оценивания………..……………………………………………………………........................... 11
- •Модели установившихся режимов в электрических цепях и
- •4. Модели пространства состояний в электрических цепях и
- •5. Системы и цепи под воздействием параметрических возмущений: численные и
- •6. Моделирование динамических систем и электрических цепей средствами
- •8. Моделирование технологических процессов в системах с помощью
- •Введение
- •Идентификация параметров моделей систем на основе квадратичных методов оценивания
- •Линейные модели систем Рассмотрим систему линейных уравнений
- •Рассмотрим линейное уравнение
- •Для существования точного решения уравнения (1.1) должно выполняться условие
- •1.2. Переопределенные системы уравнений. Метод наименьших квадратов
- •Введем векторы
- •1.3. Оценивание параметров периодических сигналов по экспериментальным данным
- •Таким образом, требуется оценить амплитуды и фазы
- •Разделив период t на 24 равных интервала, мы получим . Так как , то каждому будет соответствовать угол (в градусах).
- •1.4. Рекуррентный метод оценивания параметров моделей
- •1.5.Алгоритм оценивания параметров моделей в условиях ограничений
- •Минимальное значение (1.43) соответствует условию
- •1.6. Нормы оценивания параметров в теории инверсных систем
- •1.7. Оценивание параметров по критерию минимума среднего абсолютного значения остатков
- •Уравнение измерителя
- •1.8. Нелинейное оценивание параметров моделей в режиме прямых вычислений
- •1.9. Алгоритм ортогонализации в оценке параметров динамических систем
- •Рассмотрим нелинейную дискретную модель системы
- •2. Модели установившихся режимов в электрических цепях и системах
- •2.1. Пример модели цепи постоянного тока
- •Пример модели цепи переменного тока
- •2.3.Несимметричные режимы в трехфазных электрических цепях: метод симметричных составляющих
- •2.4. Модель многоузлового разветвления русла в стационарном режиме. Аналогии с электрической цепью
- •2.5. Модель твердого тела с двумя неподвижными точками
- •2.6. Многопродуктовая модель экономики: межотраслевой баланс
- •2.7. Модель оценки элементов матрицы преобразования
- •3. Динамические звенья и системы под воздействием гармонических сигналов
- •3.1.Построение частотных характеристик простых динамических звеньев
- •3.2.Резонанс в динамических системах
- •3.4. Резонанс в электрических цепях
- •3.4. Режим биений
- •4. Модели пространства состояний в электрических цепях и системах
- •4.1. Понятие состояния
- •4.2. Уравнения состояния для электрических цепей
- •4.3. Приведение к резистивной форме моделей электрических цепей с одним накопителем энергии
- •4.4. Определение коэффициентов дифференциальных уравнений моделей электрических цепей с двумя накопителями энергии
- •4.5. Электрическая цепь с четырьмя накопителями энергии
- •4.6. Примеры составления уравнений состояния rlc -цепей в матричной форме
- •Исходная цепь
- •Краткие сведения о решателях дифференциальных уравнений
- •5.2. Об аналитическом решении дифференциальных уравнений
- •5.3.Матричная форма решения уравнений состояния динамических систем
- •Моделирование динамических систем с двумя накопителями энергии при параметрических возмущениях Для определенности рассмотрим модель динамической системы с двумя накопителями энергии:
- •Моделирование –цепей. Аналитические решения
- •Сопротивления ,
- •Переходный процесс в -цепи под воздействием синусоидального входного сигнала
- •Системы, находящиеся под воздействием периодических сигналов прямоугольной формы
- •Динамические системы с двумя накопителями энергии
- •Корни комплексно-сопряженные.
- •Кратные корни.
- •Вещественные неравные корни
- •Динамические системы с тремя накопителями энергии
- •6. Моделирование динамических систем и электрических цепей средствами символьной математики
- •6.1. Символьные выражения и алгебра
- •6.2. Алгебраические и трансцендентные уравнения. Расчет цепи постоянного тока
- •Символьной алгебры
- •6.3. Символьное дифференцирование и интегрирование
- •6.4. Решение дифференциальных уравнений в символьной форме
- •6.5. Моделирование переходных процессов в электрических цепях средствами пакета символьной математики
- •6.6. Операторный метод расчета переходных процессов с использованием пакета символьной математики
- •7. Модели детерминированного хаоса и их применение
- •7.1. Дискретные динамические модели первого порядка со сложной динамикой
- •7.2. Программное обеспечение и моделирование нелинейных дискретных систем. Хаос
- •7.3. О применении нелинейных моделей систем для получения псевдослучайных хаотических последовательностей
- •Моделирование технологических процессов в системах с помощью нейронных сетей
- •8.1.Общие положения
- •8.2. Последовательность операций при создании нейронной сети в среде matlab ( Neural Networks Toolbox)
- •3. Оценка погрешности нейронной модели. Для оценки используется функция моделирования, где в скобках, согласно синтаксису, приводятся сеть и входной сигнал:
- •Моделирование уровней воды в водной коммуникации на основе нейронных сетей
- •В водной коммуникации
- •8.4. Применение нейронной сети для определения химического состава песчано – гравийной смеси
- •Моделирование технологического процесса оценки и прогноза рыночных факторов, воздействующих на работу предприятия и бизнес в классе нейронных сетей
- •Библиографический список
- •Оценка параметров, моделирование динамических систем и электрических цепей в среде MatLab
- •165300, Г. Котлас, ул. Невского, 20.
-
Краткие сведения о решателях дифференциальных уравнений
Для решения обыкновенных дифференциальных уравнений с заданными начальными условиями (задачи Коши) в системе MatLAB используются функции-решатели. Они позволяют пользователю выбирать метод решения, вводить начальные условия и назначать специальные опции для повышения информативности выполняемых вычислительных операций .
Решение дифференциальных уравнений обычно производится с помощью функций класса ОDE, номера которых выбираются в зависимости от назначения [34]:
функция ОDE45 – наиболее употребляемая, порядок метода – переменный;
функция ОDE23 – используется при низких требованиях к точности;
функция ОDE23S –применяется при низких требованиях к точности и необходимости решения систем уравнений в неявной форме Коши (например, в виде M*dx/dt=F(x,t); явная форма имеет структуру dx/dt=f(x,t) );
функция ОDE23t – если допустима умеренная точность и если решаются осцилляционные задачи без демпфирования;
функция ОDE23tb – при низких требованиях к точности решения уравнений в неявной форме Коши с нестационарной матрицей при производных;
функция ОDE113 – при высоких требованиях к точности и решении уравнений со сложными правыми частями.
Синтаксис функции:
[t,x,s]=ode45(‘файл-функция’,[t0 tf],x0)
Здесь [t0 tf] –временной интервал интегрирования,
x0 – вектор- столбец начальных условий,
t – текущее время ( выводимое на каждом шаге интегрирования);
x – вектор переменных состояний;
s – сведения о ходе вычислений (при выводе расчетных данных может не использоваться).
В средах MatLAB последних версий содержатся операторы, предназначенные для решения двухточечных граничных задач.
В каждом файле
содержится программа, предназначенная
для численного интегрирования
дифференциальных уравнений методом
Рунге-Кутта. Программой предусматривается
автоматический выбор шага интегрирования.
Для решения задач с использованием
решателя
необходимо знать начальное время
интегрирования, конечное время
интегрирования, вектор начальных
условий, а в строке, выполняющей процедуру
интегрирования, – в скобках указать
файл- функцию, где содержатся
дифференциальные уравнения модели
динамики системы. Если требуется вывести
на дисплей решение в графической форме,
необходимо заполнить правильно строки
с оператором
.
Поясним описанную процедуру на примере интегрирования линейного дифференциального уравнения с двумя накопителями энергии.
Предположим, что необходимо определить переходный процесс в динамической системе, описываемой матричным уравнением:
, (5.0)
где для определенности примем следующие значения постоянных коэффициентов и элементов матриц:
(5.0)
Вектор
начальных условий
,
время интегрирования
.
Заданная погрешность интегрирования
не указана (по умолчанию
).
Собственные
значения матрицы
являются комплексно-сопряженными
числами с отрицательной вещественной
частью:
.
Решение задачи
выполняется с помощью двух программ,
представленных файлами
и
.
Первая программа является основной, а
вторая – вспомогательной (файл-функцией),
служащей для записи правой части
уравнения (5.1) со значениями коэффициентов,
соответствующими данным (5.2).
Файл «MMM.M»
%Investigation of the second-order dynamical systems.
%The main file ‘mmm.m’ and the complementary file ‘sah2.m’.
echo off
clc
%To simulate a system, we create a function M-file that returns
%state derivatives. Given state and time values. For this example,
%we’ve created a file called SAH2.M. Here’s what it looks like:
R=[0 1; -1 0]
eig(R)
pause %Strike any key to continue.
сlc
%To simulate the differential equation defined in SAH2 over the
%interval 0<t<20, we invoke ODE23:
t0=0;
tfinal=40;
y0=[2.5 12.5]’; %Define initial conditions.
%[t, y]=ode23(‘sah2’, t0, tfinal, y0):
pause %Strike any key to start ODE23 solution.
tol=1.e-3; %Accuracy
trace=-2.2;
[t, y]=ode23(‘sah2’, t0, tfinal, y0, tol, trace);
plot(t, y), title (‘Second-order equation time history’), grid,
pause
plot(y(:,1),y(:,2)), title(‘Second-order equation - phase plane plot’),
grid,
pause
Файл «SAH2.M»
%File ‘sah2.m’.
%The behavior of dynamical system (electrical circuits model).
%Two energy capacitance.
function yprime=sah2(t, y);
%This program is auxiliary and implemented with the
%main program (file ‘mmm.m’).
%Matrix coefficients: a11=0, a12=-1, a21=1, a22=-0.2
yprime=[0 –1; 1 –0.2]*[y(1) y(2)]’+[1 0]’*4*sin(3*t);
Остановимся кратко
сначала на описании
.
Комментарии к программе содержатся в
строках, начинающихся со знака «%».
Рабочая часть файла представляется
лишь двумя строками – четвертой и
восьмой. Четвертая строка содержит
оператор
(функция) и синтаксическое определение
этой функции. Функция с именем
является функцией времени
и вектора
.
Уравнение (5.1) в
векторной форме записано в последней
(восьмой) строке. После знака равенства,
стоящего за функцией
,
записана матрица
,
которая умножена на вектор-столбец
(обратите внимание на знак транспонирования).
К этой части уравнения добавляется (в
виде суммы) второе слагаемое матричного
уравнения, представляющее собой
воздействие внешнего синусоидального
сигнала на динамическую систему.
Вспомогательная программа должна быть
обязательно записана в файл
,
к которому в процессе решения периодически
будет обращаться основной файл
.
Основной файл
,
также содержит комментарии, следующие
за каждым знаком «%» в соответствующих
строках, и операторы, обеспечивающие
выполнение следующих операций:
– оператор,
отключающий режим отображения листинга
на дисплей;
– очищает экран
от записей, содержащихся на нем.
В программе
используется также операция
,
позволяющая определить собственные
значения матрицы
.
После вывода результата вычислений на
экран устанавливается пауза
.
Далее следуют строки с заданным начальным
временем интегрирования
,
конечным временем
и вектором начальных условий
.
Обратите также внимание на то, что
представляет собой вектор-столбец.
Интегрирование
выполняется решателем
,
при записи которого в круглых скобках
указываются данные, используемые в
процессе расчета. Здесь содержится файл
(расширение
не указывается), а также численные
значения других параметров, определяющих
режим работы внешнего файла. По завершении
расчетов на дисплей с помощью оператора
выводятся зависимости
и
как функции времени, а оператор
служит для нанесения координатной сетки
из пунктирных линий. Чтобы изображение
не исчезло с экрана, мы используем
оператор
.
Наконец, после нажатия клавиши <Enter>
получим изображение процесса на фазовой
плоскости, где по оси
отложена переменная
,
а по оси
– переменная
.
Решение
дифференциального уравнения во временной
области представлено на рис. 5.1, а на
фазовой плоскости – на рис. 5.2. В процессе
анализа кривых, приведенных на рис. 5.1,
рекомендуется обратить внимание на
выполнение начальных условий в момент
,
а также на то, что с течением времени
переходный процесс затухает, и колебания
стремятся к вынужденным составляющим,
определяемым синусоидальным сигналом
от внешнего источника.
В изображении фазового портрета особый интерес представляет область, характеризуемая наложением собственных затухающих колебаний на вынужденные колебания системы.
Чтобы внести новые
коррективы в модель системы, необходимо
войти в редактор, вызвать файл
,
в последней строке программы записать
требуемые значения элементов матриц
состояния и управления, а также параметры
сигнала внешнего источника (частоту,
амплитуду, фазу). Затем надо произвести
запись откорректированной программы
в тот же файл, либо в другой (если
необходимо сохранить исходный). Затем
следует с помощью редактора открыть
файл
и также внести коррективы, изменив время
интегрирования (в зависимости от
собственных значений матрицы
),
ошибку интегрирования, начальные условия
и др. Необходимо, в случае изменения
наименования вспомогательного файла,
указать его в строке содержащей
.
Затем записать откорректированную
программу в файл под исходным, либо
новым именем (обязательно с расширением
).
Выход из редактора и вход в систему
MatLAB может осуществляться любым из
способов, принятых пользователем для
работы. Для расчетов по программе
необходимо набрать на экране монитора
наименование файла
(без расширения), либо вызвать иной
основной файл с принятым именем.
Следует иметь
ввиду, что по завершении вычислений все
расчетные результаты сохраняются. Можно
в режиме прямых вычислений вывести их
на экран в той форме, которая необходима.
Сначала можно определить размерность
вектора или матрицы с помощью функции
.
При нажатии клавиши <Enter>
на экране появятся два числа. Теперь
можно вывести на экран любой вектор,
либо его часть. Например, с помощью
оператора
на экране отображаются строки с 21 по
40-ю в виде двух столбцов. В первом столбце
будут содержаться расчетные данные
вектора
,
а во втором
.
В процессе вычислений по программе можно образовать матрицу, содержащую в первом столбце время, а во втором и третьем – переменные состояния, а затем вывести данные вычислений на экран и на печать. Все эти операции выполняются в системе MatLAB исключительно просто, а главное – в режиме прямых вычислений.
Если возникает
необходимость определения данных по
графикам, можно изменить масштабы по
осям
,
и вывести только ту часть графических
изображений, которая представляет
интерес в данном конкретном случае.
Программа
предназначена также для интегрирования
дифференциальных уравнений. Она
обеспечивает меньшую погрешность
вычислений (в сравнении с
)
за счет использования улучшенной
процедуры Рунге-Кутта.
В процессе
моделирования переходных режимов мы
предполагаем возвращение к программам
типа
и
.
Поэтому описание некоторых деталей
работы с программами будет дано в
последующих параграфах.