% Modelo "Strogatz" (parcial) clc close all clear all disp('Sistema de 2 Ecuaciones Diferenciales (Coordenadas Cartesianas)') disp('Modelo "Strogatz"') disp('...................................................................') disp('Ecuaciones: ') disp('dx/dt = x*(1-x^2-y^2)-w*y') disp('dy/dt = y*(1-x^2-y^2)+w*x') disp('r = (x^2 + y^2)^0.5') disp('Theta = Arctg(y/x)') disp('...................................................................') % 1) Introducir: %A) Una matriz de ceros llamada "z" de dos columnas, donde los elementos de las mismas representen los sucesivos valores %de las variables "x" e "y" (1º y 2º columna, respectivamente). %B) Los comandos necesarios para indicar los valores de las condiciones iniciales (x0, y0, tiempo final (tf), veloicidad angular (w)) %desde la Command Window. % 2) %A) Definir el sistema de ecuaciones diferenciales "fg" para "dx/dt" y "dy/dt", donde z(1) sea "x" y z(2) sea "y". %B) Resolver numéricamente el sistema de ecuaciones diferenciales "fg" utilizando el solver ode45. % 3) Graficar los cursos temporales de x e y vs. tiempo (individualmente en un gráfico y superpuestos en otro). % 4) %A) Calcular el valor del radio (r) para cada instante de tiempo. %B) Graficar r vs. tiempo. Titular el gráfico y nombrar adecuadamente los ejes. % 5) %A) Calcular el valor del ánglo Theta para cada instante de tiempo. %B) Graficar Theta vs. tiempo. Titular el gráfico y nombrar adecuadamente los ejes. % 6) %A) Graficar el plano de fases y vs X. %B) Marcar la posición inicial y final de las coordenadas x e y, distinguéndolas con diferentes colores/símbolos. %C) %C) Limitar, cuando sea necesario, los ejes del gráfico para obtener una buena visulaización del mismo %(sobre todo necesario cuando se parte desde "fuera" del ciclo límite, sino se puede comentar y no tener en cuenta). %D) Nombrar adecuadamente los ejes del gráfico y titular el mismo. % 7) Simular para varios conjuntos de parámentros, teniendo en cuenta diferentes valores de x0 e y0 (tanto de "adentro" %como de "afuera" del ciclo límite), así como para diferentes valores de tiempo y de w. disp('Valores por defecto:') disp('Posición inicial, x0: 0.01') %probar con valores de "adentro" y "fuera" del ciclo límite disp('Posición inicial, y0: 0.01') %probar con valores de "adentro" y "fuera" del ciclo límite disp('tiempo final, tf: 40') disp('Omega, w: 1') %velocidad angular: probar con valores 2*pi, 3*pi, etc