¿El análisis numérico requiere programación?
1. ¿Deben las ecuaciones en los dos conjuntos de ecuaciones diferenciales ser dx1/dt y dx2/dt respectivamente?
2. El proceso de transición entre los dos sistemas es muy corto y no es necesario establecer un tiempo de simulación demasiado largo (de hecho, 1 segundo es demasiado).
El código del programa es el siguiente (tf es el tiempo de simulación, que se puede modificar según convenga):
dx1? =?en línea('[-(x(1)-1)^3-(x(1)-1)*x(2)^2;?-x(2)^5]'?t ',?x ');
dx2? =?inline('[-x(1)^3-x(1)*x(2)^2;?-x(2)^3]'?t ',?x');
X0? =?[-100,?40;? -100,?-50;? 0,01?60;? 100?100];
n? =?tamaño(X0,1);
tf? =?0.5;
¿Para qué? i=1:n
x0? =?X0(I,?:);
[t,? incógnita]? =?ode45(dx1,?0:0.01:tf,?x0);
Gráfico de rama (n, 2,?(i-1)*2+1)
Gráfico (t, x)
Legend('x_1',?x_2',?0)
ylabel(sprintf('x_0?=?(%.3g,?%.3g )',? x0));
¿Si? yo==1,? título("Sistema I");? Fin
[t,? incógnita]? =?ode45(dx2,?0:0.01:tf,?x0);
Gráfico de rama (n, 2,?i*2)
plot(t,x)
Leyenda('x_1',?x_2',?0)
¿Si? yo==1,? título("Sistema II");? Fin
Fin
Representaciones de resultados (simulando 2 sistemas y 4 conjuntos de valores iniciales para obtener 8 conjuntos de curvas):