Нелинейная электротехника в примерах и задачах. Учебное пособие
.pdf3. ЧИСЛЕННОЕ РЕШЕНИЕ УРАВНЕНИЯ ДУФФИНГА
Численные методы решения дифференциальных уравнений
Прежде чем анализировать состояние электрической цепи, необходимо ее сформировать. Сформированная цепь должна адекватно отражать интересующие нас процессы и явления.
Уравнения могут быть первого и второго порядка – это наиболее употребляемыеуравнения. Уравнениятакжемогутбытьлинейныеинелинейные.
При использовании классического метода для решения дифференциальных уравнений применяется интегрирование дифференциальных уравнений, описывающихповедениесформированныхэлектрическихцепей.
При использовании операторного метода происходит переход от дифференциальных уравнений к алгебраическим.
В последнее время большое развитие получили численные методы. Они используются как для решения линейных уравнений и систем линейных уравнений, так и для решения нелинейных уравнений.
Поскольку нелинейные дифференциальные уравнения представляют большой интерес, то следует отметить, что численные методы, предназначенные для решения нелинейных дифференциальных уравнений, базируются на следующих методах и алгоритмах.
Численные методы анализа нелинейных цепей
Численные методы анализа нелинейных цепей основаны на приближенноминтегрированиисистемнелинейныхдифференциальныхуравнений. Промежуток времени, в пределах которого происходит решение,
11
разбивают на малые интервалы времени h t , которые называют шагом интегрирования.
Решение дается в равномерно распределенных точках, начиная от начальной точки t0 до конечной tm . Для i-й точки ti t0 ih .
Вычисления решения в момент ti дают приближенное решение. Обозначают его через xi .
Ошибка или погрешность расчета численным методом в момент ti
равна разности между точным и приближенным вычисленным значением. Эта ошибка имеет вид
i x(ti ) xi i i ,
где i – есть неточность самого алгоритма. Она называется методиче-
ской ошибкой (или ошибкой ограничения). Эта ошибка возникает из-за работы с ограниченным числом членов бесконечного ряда. Отсеченные члены и дают методическую погрешность; i – ошибка округления.
Она вызвана ограничением количества разрядов в машинном слове. Обе ошибки в процессе вычисления имеют тенденцию нарастания.
Еслиошибкаокруглениясростомчислашаговуменьшается, тоиспользуемый алгоритм является численно устойчивым. В противном случае алгоритмбудетчисленнонеустойчивымидляиспользованиянепригодным.
Численные алгоритмы
Существует большое количество численных алгоритмов, применяемых для решения дифференциальных уравнений при заданных начальных уровнях.
Перечислим наиболее простые методы.
1.Одношаговые. Вычисления в момент ti 1 (i 1)h основаны на знании результата в момент ti ih .
2.Многошаговые методы, в которых результат очередного шага зависит от результатов нескольких предыдущих шагов.
Рассмотрим подробнее как одноранговые, так и многоранговые методы.
12
КодноранговымметодамотносятсяметодыРунге–Кутта. (Простейшим из них является алгоритм Эйлера.)
Для реализации таких методов необходимо разложить искомое решение в окрестности точки ti в ряд Тейлора:
x(ti h) x(ti ) |
x(1) |
(ti ) |
h |
x(2) (ti ) |
h |
2 |
... |
|
x(n) (ti ) |
h |
n |
... . (3.1) |
|
1! |
2! |
|
n! |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
||||
Сучетомисходногоуравнения x(1) f (x, t) |
рядбудетиметьследу- |
||||||||||||
ющий вид: |
|
|
|
|
|
|
|
|
|
|
|
|
|
x(ti 1) x(ti ) f (x(ti ), ti ) f (1) (x(ti ), |
ti )h2 / 2 |
... . |
|||||||||||
Алгоритм Тейлора получается при ограничении количества членов ряда p-м членом и замене x(ti 1) xi 1; x(ti ) xi :
x |
x |
f (x |
, t |
) |
h |
|
... f ( p 1) (x |
, t |
) |
h p |
. |
(3.2) |
|
|
|||||||||||
i 1 |
i |
i |
i |
1! |
i |
i |
|
p! |
|
|||
Ошибка отсечения быстро убывает с ростом степени алгоритма (как h p ). При увеличении p может увеличиваться шаг, а это уменьшает
объем вычислений и экономит время. Алгоритм Тейлора в форме (3.1) применяетсяредковсвязиснеобходимостьювычисленияпроизводных, возрастающих с повышением порядка.
При p = 1 мы имеем прямой, иначе явный, алгоритм Эйлера, учитывающий только линейные члены разложения:
xi 1 xi hf (xi , ti ) , |
(3.3) |
где ошибка отсечения имеет верхнюю границу как Kh2.
В алгоритмах Рунге–Кутта различного порядка производные в алгоритмах Тейлора заменяются вычислениями значений функции в нескольких промежуточных точках шага. Это требует трудоемких преобразований.
13
Наиболее широко применяется алгоритм Рунге–Кутта четвертого порядка.
Он имеет следующий вид (i = n):
xn
k1 k2 k3 k4
h |
(k |
2k |
|
2k |
|
k |
|
), |
|
|
|
|
2 |
3 |
4 |
|
|
||||||
6 |
1 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
f (xn , tn ), |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
||||
f [xn hk1 / 2, |
tn h / 2], |
|
(3.4) |
||||||||
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
f [xn hk2 |
/ 2, |
tn h / 2], |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
f [xn hk3, tn h]. |
|
|
|
|
|||||||
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Здесь ki , где i = 1…n, представляют угловые коэффициенты касательных в различных точках: k1 – в начальной точке xn , tn ; k2 , k3 – в середине шага и ординатах, определяемых по k1 и k2; k4 – в конце интервала и ординате, найденной по значению k3. Угловые коэффици-
енты касательных есть наклоны, усредненные с весовыми коэффициентами, значение которых определяет приращение решения.
Этот алгоритм согласуется с алгоритмом Тейлора при p = 4.
При этом методическая погрешность, зависящая от шага как Kh5, не-
велика и позволяет реализовывать вычисления со сравнительно большим шагом.
Заустранениенеобходимостивычисленияпроизводныхприходится платить ценой вычисления самой функции в четырех точках, что требует больших затрат времени.
Алгоритмы Рунге–Кутта являются явными. Искомое решение не входит в правую часть выражения, а это значит, что вычисления начинаются сразу с точки x0 , t0.
К наиболее употребимым многошаговым методам относятся алгоритмы Адамса–Бэшфорта и Адамса–Мултона. Алгоритмы Адамса– Бэшфорта могут быть различного порядка. Они принадлежат к явным
14
алгоритмам. Решение появляется в левой части. Аналитическое выражение имеет следующий вид для k-го порядка:
xn 1 xn h[a0 (k) f (xn , tn ) a1(k) f (xn 1, tn 1) ... |
|
ak 1(k) f (xn k 1, tn k 1)]. |
(3.5) |
Коэффициенты ak определяются следующим образом.
Если k = 1, то имеет место алгоритм первого порядка, совпадающий с явным алгоритмом Эйлера (3.4).
При k = 3 имеет место трехшаговый алгоритм Адамса–Бэшфорта третьего порядка:
xn 1 xn 12h [23 f (xn , tn ) 16(xn 1, tn 1) 5 f (xn 2, tn 2 )] . (3.6)
Для осуществления процесса вычислений необходимо знать значения функции k = 3 в предыдущих точках.
Алгоритм Адамса–Мултона представляет собой неявный алгоритм. Этозначит, чторешенияприсутствуюткаквправой, такивлевойчасти аналитического выражения алгоритма.
Для k-го порядка имеем следующее аналитическое выражение:
xn 1 xn h[b 1(k) f (xn 1, tn 1) b0 (k) f (xn , tn )
bk 2 (k) f (xn k 2 , tn h 2 )]. |
(3.7) |
Коэффициенты находятся из решения соответствующей системы линейных уравнений.
При k = 1 получим алгоритм первого порядка, который называется обратным, или неявным, алгоритмом Эйлера:
xn 1 xn hf (xn 1, tn 1) . |
(3.8) |
15
При k = 2 получим алгоритм второго порядка, который называется трапецеидальным:
xn 1 |
xn |
h |
[ f (xn 1, tn 1) |
f (xn , tn )] . |
(3.9) |
|
|||||
|
2 |
|
|
|
|
При k = 3 получим двухшаговый алгоритм Адамса–Мултона третьего порядка:
xn 1 xn 12h [5 f (xn 1, tn 1) 8 f (xn , tn ) f (xn 1, tn 1)] . (3.10)
Для реализации этого алгоритма требуется вычислить два значения функции в двух предыдущих точках.
Поскольку искомое значение xn 1 в неявных алгоритмах входит в
правую часть в виде нелинейной функции, то его можно определить из решения следующего функционального уравнения:
xn 1 g(xn 1) ,
где g(xn 1) – правая часть выражения (3.7),
или в виде |
F(xn 1) g(xn 1) – xn 1 0 . |
Эти уравнения решаются численно методом простой итерации или методом Ньютона–Рафсона.
При малом шаге имеет место сходимость итерации.
При применении многошаговых методов нужно найти решения в требуемых начальных точках. Для этого применяется одношаговый метод, основанный на алгоритме Рунге–Кутта. Затем применяют многошаговый метод.
Одношаговый метод нужен для предсказания, многошаговый – для коррекции.
Многошаговые методы позволяют контролировать ошибку проще, чем одношаговые. Они более эффективны, так как в алгоритмах (3.6)
16
и (3.10) функция вычисляется в двух точках, а не в четырех, как в формуле (3.4) Рунге–Кутта.
Аналитические выражения, рассмотренные для одномерного уравнения, непосредственно позволяют работать с системой из n уравнений состояния.
Обобщим формулу Эйлера (3.3) на систему двух уравнений:
dx |
/ dt f (x , x |
2 |
, t), |
|
|
|||||
1 |
|
1 |
1 |
|
|
|
(3.11) |
|||
dx |
|
/ dt |
f |
|
(x , x |
|
|
|
||
2 |
2 |
2 |
, t). |
|
||||||
|
|
|
1 |
|
|
|
|
|||
С начальными условиями при t t0
x1(t0 ) x10 ; |
x2 (t0 ) x20 . |
Разложив x1(t) и x2 (t) в ряд Тейлора и ограничившись линейными
членами с учетом (3.11), заменим производные переменных правыми частями.
Получим
x |
|
x |
|
hf (x |
, x |
2(n) |
, t |
n |
), |
|
|
|||||||
1(n 1) |
1(n) |
|
|
1 1(n) |
|
|
|
|
|
(3.12) |
||||||||
x |
|
x |
|
|
|
hf |
|
(x (n), x |
|
(n), t |
|
|
||||||
2(n 1) |
2(n) |
|
2 |
2 |
n |
). |
|
|||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
||||||
Используя формулы (3.12), необходимо последовательно (начиная от момента t t0 ) на каждом интервале вычислять hfk , добавлять их к
значениям переменных в начале интервала и получать при этом значения в конце интервала.
Алгоритм вычислений имеет следующий вид. 1. t t0; найдем x10 x1(t0 ); x20 x2 (t0 ).
2. t t1 t0 h; найдем
f10 hf10 hf1(x10 , x20 , t0 );
f20 hf20 hf2 (x10 , x20 , t0 ),
17
а также значения переменных в конце первого интервала:
x1(1) x10 hf10; x2(1) x20 hf20.
3. t t2 t1 h; найдем
f1(1) hf1(1) = hf1(x1(1) , x2(1) , t1);
f2(1) hf2(1) hf2 (x1(1) , x2(1), t1).
Значение искомых величин в конце второго интервала:
x1(2) x1(1) hf1(1);
x2(2) x2(1) hf2(1) и т. д.
18
4. ИСПОЛЬЗОВАНИЕ МЕТОДОВ ЧИСЛЕННОГО ИНТЕГРИРОВАНИЯ ДЛЯ РЕШЕНИЯ УРАВНЕНИЙ ДУФФИНГА
Рассмотримцепь, представленнуюнарис. 4.1: e(t) KU0 sin( t ) .
Пример 4.1
R1
L
|
|
|
|
|
|
e(t) |
|
|
|
C1 |
|
|
|
||||
|
|
|
|
||
Рис. 4.1
Исходное уравнение Дуффинга:
d 2 |
|
1 |
|
d |
|
1 |
(a b 3) Um cos t |
dt2 |
RC |
|
dt |
C |
|||
|
|
|
|
где – потокосцепление;
R – сопротивление; С – емкость;
a – первый коэффициент разложения; b – второй коэффициент разложения;
Um sin t ,
R1C1
19
Um – амплитуда напряжения источника питания;
– круговая частота напряжения источника питания.
Зададим следующие значения параметров и элементов цепи: R1 : 100 – сопротивление, Ом;
C1 : 833 10 6 – емкость, Ф; Em0 : 300 – напряжение, В;: 2 50 – частота, Гц;
Sg : 10 4 – площадь сечения магнитопровода, м2;
IsRg : 0.14 – длина средней линии магнитопровода, м; dg : 3.5 – ширина окна магнитопровода, см;
Cg : 1.5 – высота окна магнитопровода, см;
Imax : 10 – максимальный ток, А;: 2 – плотность тока, А/мм2;
tmax : 0.5 – верхний предел по времени; tmin : 0.1 – нижний предел по времени;
H1 : 69 – напряженность магнитного поля в первой точке, А/м; H2 : 940 – напряженность магнитного поля во второй точке, А/м; B1 : 0.41 – индукция магнитного поля в первой точке, Тесла;
B2 : 1.39 – индукция магнитного поля во второй точке, Тесла;B Sg – формула расчета магнитного потока, Тесла м2;
1 |
B1 10 4 4.1 10 5 – магнитныйпотоквпервойточке, Тесла м2; |
|||
|
2 |
: B |
10 4 1.39 10 4 |
– магнитный поток во второй точке, |
|
2 |
|
|
|
Тесла м2;
J : – плотность тока, А/мм2;
Ku : 0.9 – коэффициент заполнения окна магнитопровода;
20
