1. Sistema de Lorenz. Modelo clássico de convecção atmosférica.
\begin{align*}
\dot{x} &= \sigma (y - x) \\
\dot{y} &= x (\rho - z) - y \\
\dot{z} &= x y - \beta z
\end{align*}
Parâmetros típicos: $\sigma = 10$, $\rho = 28$, $\beta = \frac{8}{3}$
2. Mapa Logístico. Modelo discreto de crescimento populacional.
\[ x_{n+1} = r x_n (1 - x_n) \]
Com: $0 < x_n < 1$, $0 < r \leq 4$.
Caos: para $r \gtrsim 3.57$
3. Sistema de Rössler. Modelo contínuo com dinâmica caótica em três variáveis.
\begin{align*}
\dot{x} &= -y - z \\
\dot{y} &= x + a y \\
\dot{z} &= b + z(x - c)
\end{align*}
Parâmetros típicos: $a = 0.2$, $b = 0.2$, $c = 5.7$
4. Mapa de Hénon. Sistema discreto bidimensional com comportamento caótico.
\begin{align*}
x_{n+1} &= 1 - a x_n^2 + y_n \\
y_{n+1} &= b x_n
\end{align*}
Parâmetros típicos: $a = 1.4$, $b = 0.3$
5. Oscilador de Duffing. Sistema não linear forçado com amortecimento.
\[ \ddot{x} + \delta \dot{x} + \alpha x + \beta x^3 = \gamma \cos(\omega t) \]
Caos ocorre para certos conjuntos de parâmetros.
6. Mapa Padrão de Chirikov. Mapa discreto usado em sistemas quase integráveis.
\begin{align*}
p_{n+1} &= p_n + K \sin(x_n) \\
x_{n+1} &= x_n + p_{n+1} \mod 2\pi
\end{align*}
Parâmetro de controle: $K$
7. Sistema de Chen. Semelhante ao sistema de Lorenz, com dinâmica distinta.
\begin{align*}
\dot{x} &= a (y - x) \\
\dot{y} &= (c - a)x - xz + c y \\
\dot{z} &= xy - b z
\end{align*}
Parâmetros típicos: $a = 35$, $b = 3$, $c = 28$
8. Atrator de Halvorsen. Sistema contínuo tridimensional com dinâmica caótica.
\begin{align*}
\dot{x} &= -a x - 4 y - 4 z - y^2 \\
\dot{y} &= -a y - 4 z - 4 x - z^2 \\
\dot{z} &= -a z - 4 x - 4 y - x^2
\end{align*}
Parâmetro típico: $a = 1.4$
Código Scilab para simular os atratores:
////////// // Função que define o sistema de // equações diferenciais do // Atrator de Halvorsen function dydt=halvorsen(xyz) a = 1.4; // Parâmetro típico x = xyz(1); y = xyz(2); z = xyz(3); // Sistema de equações dxdt = -a*x - 4*y - 4*z - y*y; dydt = -a*y - 4*z - 4*x - z*z; dzdt = -a*z - 4*x - 4*y - x*x; dydt = [dxdt; dydt; dzdt]; endfunction function dydt=lorenz(xyz) s = 10; r = 28; b = 8/3; x = xyz(1); y = xyz(2); z = xyz(3); // Sistema de equações dxdt = s*(y - x); dydt = x*(r-z) - y; dzdt = x*y - b*z; dydt = [dxdt; dydt; dzdt]; endfunction function dydt=rossler(xyz) a = 0.2; b = 0.2; c = 5.7; x = xyz(1); y = xyz(2); z = xyz(3); // Sistema de equações dxdt = -y - z; dydt = x + a*y; dzdt = b + z*(x - c); dydt = [dxdt; dydt; dzdt]; endfunction function dydt=chen(xyz) a = 35; b = 3; c = 28; x = xyz(1); y = xyz(2); z = xyz(3); // Sistema de equações dxdt = a*(y - x); dydt = (c-a)*x - x*z + c*y; dzdt = x*y - b*z; dydt = [dxdt; dydt; dzdt]; endfunction // Parâmetros da simulação t0 = 0; // Tempo inicial dt = 0.005; y0 = [1; 0.5; 0.5]; // Condições iniciais yh = y0; yhk = y0; yl = y0; ylk = y0; yc = y0; yck = y0; yr = y0; yrk = y0; // Integração numérica usando // o metodo Runge-Kutta kmax = 20000; k=1; dt2=dt/2; dt6=dt/6; while k<kmax k1 = halvorsen(yhk); k2 = halvorsen(yhk+dt2*k1); k3 = halvorsen(yhk+dt2*k2); k4 = halvorsen(yhk+dt*k3); yhk = yhk + dt6*(k1+k2+k2+k3+k3+k4); yh(:,k) = yhk; k1 = lorenz(ylk); k2 = lorenz(ylk+dt2*k1); k3 = lorenz(ylk+dt2*k2); k4 = lorenz(ylk+dt*k3); ylk = ylk + dt6*(k1+k2+k2+k3+k3+k4); yl(:,k) = ylk; k1 = chen(yck); k2 = chen(yck+dt2*k1); k3 = chen(yck+dt2*k2); k4 = chen(yck+dt*k3); yck = yck + dt6*(k1+k2+k2+k3+k3+k4); yc(:,k) = yck; k1 = rossler(yrk); k2 = rossler(yrk+dt2*k1); k3 = rossler(yrk+dt2*k2); k4 = rossler(yrk+dt*k3); yrk = yrk + dt6*(k1+k2+k2+k3+k3+k4); yr(:,k) = yrk; k=k+1; end // Extração das variáveis x, y, z xx = yh(1,:); yy = yh(2,:); zz = yh(3,:); xxl = yl(1,:); yyl = yl(2,:); zzl = yl(3,:); xxc = yc(1,:); yyc = yc(2,:); zzc = yc(3,:); xxr = yr(1,:); yyr = yr(2,:); zzr = yr(3,:); // Criação do gráfico 3D clf; // Limpa a janela gráfica subplot(2,2,1); param3d(xx, yy, zz,'m'); // Plota as trajetórias em 3D // Configurações do gráfico xtitle("Atrator de Halvorsen", "X", "Y", "Z"); gca().rotation_angles = [60, 45]; // Ajusta o ângulo de visualização gca().grid = [1 1 1]; // Adiciona grade // Adiciona cores para melhor visualização e = gce(); e.thickness = 2; e.foreground = color("blue"); subplot(2,2,2); param3d(xxl, yyl, zzl,'m'); // Plota as trajetórias em 3D // Configurações do gráfico xtitle("Atrator de Lorenz", "X", "Y", "Z"); gca().rotation_angles = [60, 45]; // Ajusta o ângulo de visualização gca().grid = [1 1 1]; // Adiciona grade // Adiciona cores para melhor visualização e = gce(); e.thickness = 2; e.foreground = color("blue"); subplot(2,2,3); param3d(xxc, yyc, zzc,'m'); // Plota as trajetórias em 3D // Configurações do gráfico xtitle("Atrator de Chen", "X", "Y", "Z"); gca().rotation_angles = [60, 45]; // Ajusta o ângulo de visualização gca().grid = [1 1 1]; // Adiciona grade // Adiciona cores para melhor visualização e = gce(); e.thickness = 2; e.foreground = color("blue"); subplot(2,2,4); param3d(xxr, yyr, zzr,'m'); // Plota as trajetórias em 3D // Configurações do gráfico xtitle("Atrator de Rossler", "X", "Y", "Z"); gca().rotation_angles = [60, 45]; // Ajusta o ângulo de visualização gca().grid = [1 1 1]; // Adiciona grade // Adiciona cores para melhor visualização e = gce(); e.thickness = 2; e.foreground = color("blue");
Nenhum comentário:
Postar um comentário