MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Physical Simulations with DSolve

  • To: mathgroup at
  • Subject: [mg83352] Physical Simulations with DSolve
  • From: "ram.rachum at" <ram.rachum at>
  • Date: Sun, 18 Nov 2007 04:45:33 -0500 (EST)

Hello hello, it's me again. So I figured out how to use vectors in
DSolve. Now I tried to input a simple physical system into DSolve. The
only physical force I allowed was gravity. It didn't work. I tried
various systems, but none of them worked. I gradually simplified them,
making one of the objects stationary, playing with the force
equations, etc. I think I narrowed down the problem: DSolve won't work
if there I use a unit vector in one of the functions.
I defined a function unitvector[x] that gives you a vector in the
direction of x with a length of one. It's quite straightforward, but
when I use this function in one of the equations, DSolve goes
Solve::svars. I tried calculating a unit vector in other ways, without
calling the function, but they all produced the same svars.
Here's the code:

\!\(\(x[t_] = {x1[t], x2[t]};\)\[IndentingNewLine]
  \(xx[t_] = {xx1[t], xx2[t]};\)\[IndentingNewLine]
  \(f[t_] = {f1[t], f2[t]};\)\[IndentingNewLine]
  \(ff[t_] = {ff1[t], ff2[t]};\)\[IndentingNewLine]
  \(g = 6.673*10\^\(-11\);\)\[IndentingNewLine]
  \(vnorm[x_] := \@\((x . x)\);\)\[IndentingNewLine]
  unitvector[x_] := x/vnorm[x]\)

\!\(eqn = {x[0] == {
    0, 0}, \(x'\)[0] == {0, 10\^17},
      xx[t] == {10\^11, 0}, \(x''\)[t] == f[t]/\((\ 1*10\^18)\),
          f[t] == \(g*\((1*10\^18)\)*\((1*10\^24)\)\)\/vnorm[xx[t] -
        unitvector[xx[t] - x[t]]}\)

DSolve[Thread /@ eqn // Flatten, Flatten[{x[t], xx[t], f[t]}], {t}]

So is Mathematica simply unable to solve something that uses a unit

  • Prev by Date: Basic Question about Mathematica
  • Next by Date: Re: Creating a Slideshow with Mathematica6!
  • Previous by thread: Re: Basic Question about Mathematica
  • Next by thread: Tally[ ] and Union[ ]