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