- •В.И. Королев, в.В. Сахаров, о.В. Шергина оценка параметров, моделирование динамических систем и электрических цепей в среде 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.
Символьной алгебры
Необходимо определить токи в ветвях, если сопротивления равны:
, , , , , , и ЭДС источников , , , , . (сопротивления – в Омах, ЭДС – в Вольтах). К первому узлу подтекает ток , а от второго – оттекает .
Обозначим потенциалы узлов 1, 2 и 3: , , . Потенциал узла 4 принят равным нулю (см. рис. 6.2). Воспользуемся методом узловых потенциалов и составим уравнения:
,
, (6.2)
,
где - собственные проводимости узлов,
- взаимные проводимости.
Определим численные значения собственных и взаимных проводимостей, входящих в систему (6.2):
, , .
Вычислим токи узлов, согласно методу узловых потенциалов:
,
,
.
Система уравнений (6.2) принимает вид:
,
,
.
Найдем потенциалы узлов с помощью символьного метода. Объявим , и символьными переменными и, используя функцию solve, решим систему уравнений :
syms u1 u2 u3
f1='1.25*u1-0.05*u2-0.2*u3=68';
f2='-0.05*u1+0.45*u2-0.1*u3=5';
f3='-0.2*u1-0.1*u2+0.8*u3=-35';
[u1 u2 u3]=solve(f1,f2,f3);
В результате получим: , , .
Токи в ветвях рассчитаем с помощью уравнений:
; ;
; ;
; ;
.
Для выполнения расчетов был использован файл sah383.m.
% sah383.m
% DC- electrical system design:
syms u1 u2 u3
f1='1.25*u1-0.05*u2-0.2*u3=68';
f2='-0.05*u1+0.45*u2-0.1*u3=5';
f3='-0.2*u1-0.1*u2+0.8*u3=-35';
[u1 u2 u3]=solve(f1,f2,f3);
[u1 u2 u3]
%==============================
I1=(u1-u2+200)/20;
I2=(u3-u1+80)/5;
I3=(u2-u3)/10;
I4=(u2+30)/10;
I5=u2/5;
I6=(u3+38)/2;
I7=(-u1+60)/1;
I=[I1 I2 I3 I4 I5 I6 I7]'
В первом блоке файла объявлены символьные напряжения узлов электрической цепи (рис. 6.2), записаны уравнения и , согласно рассмотренному выше синтаксису функции solve.
Полученные расчетные значения , и во втором блоке использованы в уравнениях токов ветвей. Положительные направления токов в ветвях, в которых содержатся источники ЭДС, приняты совпадающими с направлениями ЭДС (рис. 6.2).
6.3. Символьное дифференцирование и интегрирование
Непрерывная функция f(x), имеющая дифференциал в каждой точке , называется дифференцируемой. Разрывная функция в точке разрыва не имеет дифференциала.
Для получения производных от функций по аргументу в символьном виде используется diff, записываемая в формате diff(f), diff(f, ‘y’) или diff(f, k), где k – целое число. Первые две формы возвращают значение первой производной от символьного выражения. С помощью символа ‘y’, указанного в круглых скобках, выполняется взятие производной по переменной ‘y’. В последней форме с помощью k определяется порядок производной от функции f.
В приведенных ниже примерах вычисления производных, кроме функции diff, использовалась функция упрощения выражения simplify, а также функция pretty, позволяющая выводить результаты преобразований в естественной математической форме, с использованием общепринятых математических знаков для записи математических выражений. В них используются, в частности, надстрочные показатели степени, знаки деления в виде горизонтальной черты и т.п. Нетрудно видеть, что переход от производной к записи дифференциала функции может быть осуществлен добавлением соответствующих знаков дифференциала, с учетом свойств. Во всех примерах сохранены машинные данные вычислений, за исключением примера 2, где представлен результат в виде дифференциала сложной функции, а также примера 5, в котором выполнено дифференцирование произведения двух функций. В примере 10 определена третья производная от степенной функции (k=3).
1. Степенная функция
syms x y m n
z1=diff(x^m);
z=simplify(z1)
pretty(z)
z =
x^(m-1)*m
(m - 1)
x m
2. Дифференцирование сложной функции
f=(1+x^2)^3;
f1=diff(f);
f2=simplify(f1)
pretty(f2)
d(f2) =
6*(1+x^2)^2*x*dx
2 2
6 (1 + x ) x dx
3. Производная сложной функции
fa=sqrt(n^2-x^2);
fa1=diff(fa);
fa2=simplify(fa1)
pretty(fa2)
fa2 =
-1/(n^2-x^2)^(1/2)*x
x
- ------------
2 2 1/2
(n - x )
4. Производная гармонической функции
fb=sin(2*x)^2;
fb1=diff(fb);
fb2=simplify(fb1)
pretty(fb2)
fb2 =
4*sin(2*x)*cos(2*x)
4 sin(2 x) cos(2 x)
5. Дифференцирование произведения двух функций
fc=(2*x^2+3*x)*(x^3-2);
fc1=diff(fc);
fc2=simplify(fc1)
pretty(fc2)
d(fc2) =
(10*x^4-8*x+12*x^3-6)*dx
4 3
(10 x - 8 x + 12 x - 6) dx
6. Производная от частного (дроби)
fd=sqrt((1+x)/(1-x));
fd1=diff(fd);
fd2=simplify(fd1)
pretty(fd2)
fd2 =
1/(-(1+x)/(x-1))^(1/2)/(x-1)^2
1
---------------------
/ 1 + x\1/2 2
|- -----| (x - 1)
\ x - 1/
7. Производная от логарифмической функции
fe=x*exp(-x^2);
fe1=diff(fe);
fe2=simplify(fe1)
pretty(fe2)
fe2 =
exp(-x^2)-2*x^2*exp(-x^2)
2 2 2
exp(-x ) - 2 x exp(-x )
8. Производная от тригонометрической функции
fg=log(sqrt(sin(2*x)));
fg1=diff(fg);
fg2=simplify(fg1)
pretty(fg2)
fg2 =
1/sin(2*x)*cos(2*x)
cos(2 x)
--------
sin(2 x)
9. Частные производные от функции
fh=log(sqrt(x^2+y^2));
fh1=diff(fh);
fh2=diff(fh,y);
fh3=simplify(fh1)
fh4=simplify(fh2)
pretty(fh3)
pretty(fh4)
fh3 =
1/(x^2+y^2)*x
fh4 =
1/(x^2+y^2)*y
x
-------
2 2
x + y
y
-------
2 2
x + y
10. Третья производная от степенной функции
fm=x^4;
fm1=diff(fm,3);
fm2=simplify(fm1)
pretty(fm2)
fm2 =
24*x
24 x
В процессе проведения инженерных расчетов часто возникает необходимость вычисления интегралов. Для интегрирования символьных аналитических зависимостей предназначена функция int. Если интеграл в замкнутой форме не существует, либо MatLAB не может по каким-либо иным причинам выполнить вычисления, то на дисплее об этом появляется сообщение.
Подобно функции diff, существует также несколько способов использования int. Рассмотрим вычисление неопределенного интеграла подынтегральной функции f(x) с переменной интегрирования х. Попытаемся получить некоторые соотношения, часть которых при изучении интегрального исчисления рекомендовалось знать на память.
Пример 1
f=x^n;
f1=int(f)
pretty(f1)
f1 =
x^(n+1)/(n+1)
(n + 1)
x
--------
n + 1
Пример 2
fa=1/x;
fa1=int(fa)
pretty(fa1)
fa1 =
log(x)
log(x)
Пример 3
fb=exp(x);
fb1=int(fb)
pretty(fb1)
fb1 =
exp(x)
exp(x)
Пример 4
fc=a^x;
fc1=int(fc)
pretty(fc1)
fc1 =
1/log(a)*a^x
x
a
------
log(a)
Пример 5
fd=sin(x);
fd1=int(sin(x))
pretty(fd1)
fd1 =
-cos(x)
-cos(x)
Пример 6
fe=cos(x);
fe1=int(fe)
pretty(fe1)
fe1 =
sin(x)
sin(x)
Пример 7
ff=1/(sin(x)^2);
ff1=int(ff)
pretty(ff1)
ff1 =
-1/sin(x)*cos(x)
cos(x)
- ------
sin(x)
Пример 8
fk=1/(cos(x)^2);
fk1=int(fk)
pretty(fk1)
fk1 =
1/cos(x)*sin(x)
sin(x)
------
cos(x)
Пример 9
fg=1/sqrt(1-x^2);
fg1=int(fg)
pretty(fg1)
fg1 =
asin(x)
asin(x)
Пример 10
fh=1/sqrt(a^2-x^2);
fh1=int(fh)
fh2=simplify(fh1)
pretty(fh2)
fh3=simplify(diff(fh2))
fh1 =
atan(x/(a^2-x^2)^(1/2))
fh2 =
atan(x/(a^2-x^2)^(1/2))
x
atan(------------)
2 2 1/2
(a - x )
fh3 =
1/(a^2-x^2)^(1/2)
Пример 11
fm=1/(a^2+x^2);
fm1=int(fm)
pretty(fm1)
fm1 =
1/a*atan(x/a)
atan(x/a)
---------
a
Пример 12
fn=1/sqrt(x^2-a^2);
fn1=int(fn)
pretty(fn1)
fn1 =
log(x+(-a^2+x^2)^(1/2))
2 2 1/2
log(x + (-a + x ) )
Обратим внимание на то, что полученные неопределенные интегралы во всех примерах не содержат постоянной интегрирования «С», которая должна быть добавлена к каждому решению.
Поскольку интеграл функции является первообразной для самой функции, путем операции дифференцирования мы можем получить каждую исходную функцию. В примере 10 для этой цели использована запись:
.
В результате
,
что свидетельствует о корректности вычислений .
Другая форма записи int(f, y) возвращает неопределенный интеграл по переменной y.
Наконец, остановимся на определенном интеграле. Недостающие значения параметров, задающие интервал интегрирования [a, b], записываются следующим образом:
int(f, a, b), либо int(f, y, a, b).
Если, например, требуется найти интеграл функции
в пределах [1, 4], необходимо использовать такую форму записи:
В результате получим:
Граничные значения могут быть заданы символами [a, b]:
В известных случаях, когда границы интегрирования заданы таким образом, что подынтегральное выражение содержит условие вырожденности, определенный интеграл не должен вычисляться. Однако неопределенный интеграл этой же функции может быть найден. Приведем пример:
.
Но вычисление определенного интеграла
не производится, поскольку при х=2 знаменатель равен нулю. Вместе с тем с изменением верхней границы интегрирования, исключающим сингулярность, решение может быть получено:
.
Операции интегрирования и дифференцирования часто используются при выполнении расчетов установившихся и переходных процессов в электрических цепях. Символьные функции могут эффективно применяться для выполнения таких расчетов, а в случае необходимости – для проверки корректности выполняемых преобразований и получения справочных данных.
Остановимся на рассмотрении двух примеров.
В первом примере вычислим среднее и действующее значения синусоидально изменяющегося тока. Напомним, что под средним значением синусоидально изменяющейся величины понимают ее среднее значение за половину периода. Следовательно, если ток в цепи изменяется по синусоидальному закону
,
где - угловая частота, Т- период (время, за которое совершается одно полное колебание), - амплитуда тока, - время, то среднее значение синусоидального тока можно вычислить путем интегрирования функции:
(6.3)
Действующее значение синусоидального тока
(6.4)
является среднеквадратичной величиной. Ток численно равен значению такого постоянного тока, который за время одного периода синусоидального тока выделяет на активном сопротивлении такое же количество теплоты, что и синусоидальный ток .
Определим в символьных выражениях и , для чего (6.3) и (6.4) запишем следующим образом:
% Mean and meansquare current:
syms Im T t
Icp=1/(T/2)*int(Im*sin(2*pi/T*t),t,0,T/2);
pretty(Icp)
I=sqrt(1/T*int(Im^2*sin(2*pi/T*t)^2,t,0,T));
pretty(I)
Im
2 ----
pi
1/2 2 1/2
1/2 2 (Im ) = Im/ 2^1/2
Возвращенные значения токов позволяют определить и в терминах :
.
Таким образом, получены известные состояния:
Второй пример будет содержать процедуру определения напряжения на индуктивности по известному току и параметру с помощью функции дифференцирования. Рассмотрим неразветвленную электрическую цепь, состоящую из последовательно соединенных резисторов R, R0 и индуктивности L. Цепь подключена к источнику постоянной ЭДС, равной E. В момент t=0 резистор R0 шунтируется ключом, и в цепи будет наблюдаться переходный процесс при ненулевых начальных условиях. Основная переменная состояния – ток через индуктивность. Для основной переменной состояния (тока через индуктивность) запишем уравнение:
.
Это уравнение можно использовать для расчета в символьной форме напряжения на индуктивности по формуле:
,
для чего требуется объявить символьные величины, а затем с помощью функции diff, как показано ниже, найти искомое соотношение. В синтаксисе функции diff, конечно, следует указать аргумент , по которому производится дифференцирование:
% Уравнение для iL(t) :
syms E R L R0 t
i=E/R*(1-exp(-R/L*t))+E/(R+R0)*exp(-R/L*t);
u=L*diff(i,t)
simplify(u)
u =
L*(E/L*exp(-R/L*t)-E/(R+R0)*R/L*exp(-R/L*t))
ans =
E*exp(-R/L*t)*R0/(R+R0)
Таким образом, напряжение на индуктивности в момент принимает максимальное значение (изменяется скачком)
а по окончании переходного процесса
,
при становится равным нулю. Из приведенного символьного текста видно, что после операции дифференцирования использована функция simplify для поэлементного упрощения символьного выражения .