When I give Mathematica this system to solve:

system={x'[t] == -x[t]*Sqrt[(x[t])^2 + (y[t])^2], y'[t] == -1 - y[t]*Sqrt[(x[t])^2 + (y[t])^2]}
DSolve[system, {x[t],y[t]},{t}]

It just returns

 DSolve[{x'[t] == -x[t]*Sqrt[(x[t])^2 + (y[t])^2], y'[t] == -1 - y[t]*Sqrt[(x[t])^2 + (y[t])^2]}, {x[t],y[t]},{t}]

Is there a better way to approach this problem than using DSolve?

Also, the physics behind the problem is projectile motion considering quadratic drag force and x(or y) is the projectile's velocity along x(or y) axes. So in the end I would like to have this system solved:

system={x''[t] == -x'[t]*Sqrt[(x'[t])^2 + (y'[t])^2], y''[t] == -1 - y'[t]*Sqrt[(x'[t])^2 + (y'[t])^2]}

(Where x and y are now projectile displacements, not velocities)

Thank you in advance for your answers!

  • $\begingroup$ FYI: Mathematica is case sensitive; your System in the second line should match system in the first line. This does not solve your problem but it is the first thing you should correct. $\endgroup$
    – Mr.Wizard
    Sep 18 '16 at 9:14
  • $\begingroup$ I just made that mistake in the question, not in Mathematica. Thank you anyways @Mr.Wizard $\endgroup$
    – nunca13
    Sep 18 '16 at 9:17

You can try NDSolve

sol1[t_] = 
 NDSolve[{x'[t] == -x[t]*Sqrt[(x[t])^2 + (y[t])^2], 
   y'[t] == -1 - y[t]*Sqrt[(x[t])^2 + (y[t])^2], x[0] == 0.003, 
   y[0] == 0.001}, {x, y}, {t, 0, 500}]
Plot[x[t] /. sol1[t_], {t, 400, 500}, 
 AxesLabel -> {"Time--->", "x(t)--->"}]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.