# solution of differential equation

I have the following code that gives you a phase portrait of a 2d system and I can't understand what means the 3rd and 4th line (sol1 and sol2).

sys = {x'[t] == 3 x[t], y'[t] == -y[t]};

ss = DSolve[sys, {x[t], y[t]}, t];

sol1 = ss[[1, 1, 2]];

sol2 = ss[[1, 2, 2]];

toplot = Flatten[
Table[{sol1, sol2} /. {C[1] -> i, C[2] -> j},
{i, -0.5, 0.5, 0.25}, {j, -0.5, 0.5, 0.25}], 1]

graphs = ParametricPlot[Evaluate[toplot], {t, -3, 3}]


I searched the documentation but I couldn't figure it out. Thank you.

@J.M. @belisarius I try to extend it in non linear eqiations. I tried another example with a non linear diff eq. What I wanted to find was the phase space. When I put μ>0 then it plots a solution, but it does not show the other fixed point that is non stable. For everything else μ it does not do anything.

sol = NDSolve[{x'[t] == μ - x[t]^2, y'[t] == -y[t], x[0] == x0, y[0] == y0}, {x[t], y[t]}, {t, 0, 100}]

toplot = Table[{x@t, y@t} /. sol, {x0, -.5, 2, .25}, {y0, -.5, .5, .25}];

ParametricPlot[Evaluate[toplot], {t, 0, 100}, PlotRange -> All]

I now the dynamics of the above, I do not want you to explain that to me. I want your help because I am trying to learn mathematica.

-
It's for extracting the (approximate) solutions, though I think it's a bit cumbersome, and I prefer using {sol1, sol2} = {x, y} /. First[ss]; – J. M. Apr 23 '13 at 18:39
@J.M. {x@t, y@t} /. First[ss] in this case – Dr. belisarius Apr 23 '13 at 18:42
thank you very much! can you explain me or send me any link that explains what x@t means? – 2island Apr 23 '13 at 18:45
@bel, blah, I'm too used to not including the arguments for the functions... 2island, the double bracket syntax is shorthand for Part[]. You will want to look this up in the docs. Additionally, x[t], x @ t, and t // x all mean the same thing; that is, applying the function x to the argument t. – J. M. Apr 23 '13 at 18:45
For future reference on how to figure these things out: search the docs for [[ and it'll take you to Part which explains the syntax used in the line sol1 = .... The meaning of @ is a bit more difficult to discover. Searching for it takes you to Prefix, but here's a more relevant doc page. – Szabolcs Apr 23 '13 at 18:53

ss = DSolve[{x'[t] == 3 x[t], y'[t] == -y[t], x[0] == x0, y[0] == y0}, {x, y}, t];

Is it right to use the NDSolve (when u want to treat with a non linear diff eq) and as initial cond put variables as above? Plot[r (1 - r^2), {r, 0, 1}, AxesLabel -> {r, r'}] ssa = NDSolve[{r'[t] == r[t] (1 - r[t]^2), u'[t] == 1, r[0] == r0, u[0] == u0}, {r[t], u[t]}, {t, 0, 100}] toplot = Table[{r@t Cos[u@t], r@t Sin[u@t]} /. ssa, {r0, -.5, .5, 0.25}, {u0, -.5, .5, 0.25}]; ParametricPlot[toplot, {t, 0, 100}] The solution seems right but it opens a message that says that initial cond r0 is not a number or rectangular array of numbers. – 2island Apr 24 '13 at 9:49
@2island You must plug in numbers in NDSolve[], not symbolic constants – Dr. belisarius Apr 24 '13 at 11:59