- •1. Динамічні системи
- •1.1. Поняття динамічної системи
- •1.2. Фазовий портрет динамічної системи. Теорема Такенса
- •2. Реконструкція фазового простору динамічної системи
- •2.1. Алгоритм відновлення простору станів динамічної системи
- •2.2. Реконструкція фазового простору деяких динамічних систем в середовищі Maple
- •Висновки
- •Перелік використаних джерел
2. Реконструкція фазового простору динамічної системи
2.1. Алгоритм відновлення простору станів динамічної системи
Метод, що дозволяє відновлювати простір станів системи та її динаміку, був запропонований Н. Паккардом та ін., він полягає в послідовному вимірі часу виходу y (t) [6]. Алгоритм грунтується на реконструкції станів системи з скалярного вихідного сигналу з використанням тимчасових затримок
. (10)
Ф. Такенс показував [7], що для скалярного вихідного процесу (5), вибраного часу затримки і розмірності n реконструйованого атрактора (, де – хаусдорфова розмірність) ідентифікується відображення , яке забезпечує глобальне взаємно-однозначне уявлення аттрактора.
У результаті застосування методу Паккарда-Такенса відновлюється відображення (1) визначенням стану , де – час послідовних перетинань відповідним чином обраного перерізу Пуанкаре в просторі відновлених станів x(t). Теорема Такенса вводиться для досить загального випадку систем
2.2. Реконструкція фазового простору деяких динамічних систем в середовищі Maple
> > > > >
> > restart;with(plots):N:=400;L:=50; ### N:=4000;L:=500;
Warning, the name changecoords has been redefined
> for k from 1 to M do x[k]:=evalf(sin(4*Pi*k/N));od:
> for k from 1 to M-L do y[p]:=x[p+L];od:
> SQ:=[seq([x[j],y[j]],j=1..L-M)]:
> SQX:=[seq([j,x[j]],j=1..L-M*0)]:
> pointplot(SQX,symbolsize=20,symbol=point,axes=boxed,font=[TIMES,BOLD,12],labels=["n","x[n]"]);
> pointplot(SQ,symbolsize=20,symbol=cross,axes=boxed,font=[TIMES,BOLD,12],labels=["x[n]","x[n+L]"]);
> pointplot(SQ,symbolsize=20,symbol=cross,style=line,thickness=2,axes=boxed,font=[TIMES,BOLD,12],labels=["x[n]","x[n+L]"]);
> > >> >> >> >> >> >> >> >
> >
Рис.1. Часова еволюція координати математичного маятника
Рис.2. Реконструйований фоновий простір математичного маятника
при різних часових затримках
> restart;with(plots):with(stats):with(linalg):with(DEtools):sigma:=10.0:b:=8/3.:r:=27.0:eq1:=diff(x(t),t)=-sigma*x(t)+sigma*y(t):eq2:=diff(y(t),t)=r*x(t)-y(t)-x(t)*z(t):eq3:=diff(z(t),t)=x(t)*y(t)-b*z(t):
Warning, the name changecoords has been redefined
Warning, the protected names norm and trace have been redefined and unprotected
Warning, the name adjoint has been redefined
> T0:=0:DT:=0.05:TN:=450:tm:=[];whattype(tm); #TN=350
> for i from T0 by DT to TN do tm:=[op(tm),i]:end do:#end do = od
> UZL:=nops(tm);#сообщает,ск.подобъектов 1-го уровня находится в объекте tm (это число узловых точек)
> tm:=array(tm):whattype(tm);#поскольку вывод может быть array
> soln:=dsolve({eq1,eq2,eq3,x(0)=0,y(0)=1,z(0)=0},{x(t),y(t),z(t)},type=numeric,method=rkf45,maxfun=500000,output=tm):
> xm:=array(1..UZL);ym:=array(1..UZL);zm:=array(1..UZL);
> for i from 1 to UZL do xm[i]:=soln[2,1][i,2]: end do:
> for i from 1 to UZL do ym[i]:=soln[2,1][i,3]: end do:
> for i from 1 to UZL do zm[i]:=soln[2,1][i,4]: end do:
> xcL:=convert(xm,list):ycL:=convert(ym,list):zcL:=convert(zm,list):tcL:=convert(tm,list):
>
Проекции портретов реконструированного аттрактора
> for j from 1 to (UZL-1)/2 by 1 do
> a_x[j]:=op(2*j-1,xcL);
> od:
> for j from 1 to (UZL-1)/2 by 1 do
> b_x[j]:=op(2*j,xcL);
> od:
> for j from 1 to (UZL-1)/2 by 1 do
> a_y[j]:=op(2*j-1,ycL);
> od:
> for j from 1 to (UZL-1)/2 by 1 do
> b_y[j]:=op(2*j,ycL);
> od:
> for j from 1 to (UZL-1)/2 by 1 do
> a_z[j]:= op(2*j-1,zcL);
> od:
> for j from 1 to (UZL-1)/2 by 1 do
> b_z[j]:= op(2*j,zcL);
> od:
> AX:=[seq(a_x[j],j=1..(UZL-1)/2)]:BX:=[seq(b_x[j],j=1..(UZL-1)/2)]:N_AX:=nops(AX);N_BX:=nops(BX);is(N_AX=N_BX);
> P_X:=zip((a_x,b_x)->[a_x,b_x],AX,BX):plot(P_X,color=green);
Рис.3. Проекція реконструйованого фазового простору системи Лоренца