Utilizando la función de Mathematica RSolve
puedes resolver el sistema de ecuaciones en diferencia, y no en diferencial:
system = {x[t + 1] == 1/2 x[t] + k y[t] - 1/2 (-1)^t k^t,
y[t + 1] == k x[t] + 1/2 y[t] + 1/2 (-1)^t k^t}
RSolve[Join[system,{x[0] == x0, y[0] == y0}], {x[t], y[t]},t][[1]]//FullSimplify
$$x_t=\frac{1}{2} \left(2 (-1)^{t} k^t+\left(\frac{1}{2}-k\right)^t (-2+\text{x0}-\text{y0})+\left(\frac{1}{2}+k\right)^t (\text{x0}+\text{y0})\right),\\ y_t=\frac{1}{2} \left(-2 (-1)^{t} k^t+\left(\frac{1}{2}-k\right)^t (2-\text{x0}+\text{y0})+\left(\frac{1}{2}+k\right)^t (\text{x0}+\text{y0})\right) $$
para comprobar la estabilidad ahora hay que comprobar dónde están los términos $k^t, \left(\frac{1}{2}-k\right)^t, \left(\frac{1}{2}+k\right)^t$ convergen. Todos esos términos convergen para $\lvert k\rvert<\frac{1}{2}$ . Y convergen al atractor $y=-x$ .
Visualmente:
data = Table[#, {t, 0, 100}]&/@Flatten[
Table[{1/2 (2 (-k)^t + (1/2 - k)^t (-2 + x0 - y0) +
(1/2 + k)^t (x0 + y0)),
1/2 (-2 (-k)^t + (1/2 - k)^t (2 - x0 + y0) +
(1/2 + k)^t (x0 + y0))},
{x0, -2, 2, 0.5}, {y0, -2, 2, 0.5}], 1];
(* unstable case*)
ListPlot[data/.k -> 1/8, PlotRange -> All, Joined -> True,
InterpolationOrder -> 2]
(* unstable case*)
ListPlot[data /. k -> 3/4, Joined -> True, InterpolationOrder -> 2,
PlotRange -> {{-10, 10}, {-10, 10}}]
Obsérvese que las órbitas van al infinito a lo largo de la diagonal $y=x$ . Cuanto mayor sea el valor de $k$ cuanto mayor sea la "fluctuación":
ListPlot[data /. k -> 2, Joined -> True, InterpolationOrder -> 2,
PlotRange -> {{-100, 100}, {-100, 100}}]
Es un misterio para mí por qué han redirigido aquí desde Mathematica.SE :/