- •В.И. Королев, в.В. Сахаров, о.В. Шергина оценка параметров, моделирование динамических систем и электрических цепей в среде 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 исключительно просто, а главное – в режиме прямых вычислений.
Если возникает необходимость определения данных по графикам, можно изменить масштабы по осям , и вывести только ту часть графических изображений, которая представляет интерес в данном конкретном случае.
Программа предназначена также для интегрирования дифференциальных уравнений. Она обеспечивает меньшую погрешность вычислений (в сравнении с ) за счет использования улучшенной процедуры Рунге-Кутта.
В процессе моделирования переходных режимов мы предполагаем возвращение к программам типа и . Поэтому описание некоторых деталей работы с программами будет дано в последующих параграфах.