Архив разработки (4 Кб, Maple)
Введение
Биффуркация из предельного цикла.
Явление удвоения периода, или, иначе, генерации субгармоники, давно известно в электронике. Например, некоторые электронные цепи описываются уравнением Дуффинга
соответствующим отклику нелинейного осциллятора на периодическую возмущающую силу. Даже это проостое уравнение описывает множество явлений, связанных с удвоением и утроением периода. Другие субгармоники также могут присутствовать. Может наблюдаться целая последовательность удвоений или утроений периода.
Осциллятор Дуффинга
> restart; with(plots): with(DEtools):
Warning, the name changecoords has been redefined
Уравнение Дуффинга:
> eq:=diff(x(t),t,t)+2*delta*diff(x(t),t)+a*x(t)+b*x(t)^3=F*cos(nu*t);
Система уравнений:
> sys:=[diff(x(t),t)=y(t), diff(y(t),t)+2*delta*y(t)+a*x(t)+b*x(t)^3=F*cos(nu*t)];
Задание параметров системы:
nu: 0.1, 0.5, 1, 1.2,2
> delta:=0.35/2:
a:=0:
b:=1:
F:=8.5:
nu:=1.2:
sys;
eq; ##F=8.5,8.0,6.6
Начальные условия
> ic:=[[x(0)=1,y(0)=0]];##,[x(0)=2,y(0)=0],[x(0)=.5,y(0)=0],[x(0)=0,y(0)=0]];
Создание массива
Если файла с массивом p (temp.m) не существует, символы комментариев нужно убрать и выполнить команды этой исполнительной группы. Если файл уже создан, то массив p будет загружен с помощью команды read.
Инициализация:
начальное и конечн. значения счетчика: i1:=1:i2:=40: #1,180
начальное и конечн. время: t1:=100*Pi: t2:=138*Pi: #100*Pi,108*Pi
шаг DEplot: ss:=0.08: #0.08:
шаг цикла: step:=1: #1
> read "temp.m":
> Digits:=4:
Эволюция фазового портрета при изменении параметра от 0.01 до 1.8 с шагом 0.01
> pp:=display([seq(p[i],i=i1..i2)],insequence = true):
> ppc:=plot(x*1.5,x=-4..4):nup:=textplot([1,6,"nu="]):
> display(ppc,pp,nup);
> f:=dsolve({eq,x(0)=1,D(x)(0)=0},x(t),type=numeric,method=dverk78,output=listprocedure):
> fp := subs(f,x(t)):
Установившиеся колебания:
> ti:=99*Pi; tf:=(112+50)*Pi; steps:=10000;nu:=0.02;
> vals:=seq([ti+(tf-ti)*i/steps,fp(ti+(tf-ti)/steps*i)],i=0..steps):
> pointplot([vals],connect=true,color=red,title="oscillations",labels=[time,x],numpoints=200);
Фазовый портрет:
> sol:=dsolve({sys[1],sys[2], op(ic[1])},
{x(t),y(t)}, type=numeric,method=dverk78, output=listprocedure):
> px := subs(sol,x(t)): py := subs(sol,y(t)):
> pvals:=seq([px(ti+(tf-ti)*i/steps),py(ti+(tf-ti)/steps*i)],i=0..steps):
> pointplot([pvals],connect=true,color=red,title="oscillations",labels=[x,y],numpoints=500);
Литература
1) Неймарк Ю. И., Ланда П. С. Стохастические и хаотические колебания. - М.: Наука, 1987.
2) Хакен Г. Синергетика: Иерархия неустойчивостей в самоорганизующихся системах и устройствах. - М.: Мир, 1985.
|