Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Differential Equation with Vectors

  1. Aug 6, 2009 #1
    Hello everyone, I have the following differential equation :

    [tex]\dot{\theta}(t) = \omega(t) - \frac{1}{2}\theta(t)\times\omega(t) + \frac{1}{\Vert\theta(t)\Vert^2}\left(1-\frac{\Vert\theta(t)\Vert}{2}cot\frac{\Vert\theta(t)\Vert}{2}\right)\theta(t)\times[\theta(t)\times\omega(t)][/tex]

    where [tex]\omega(t)[/tex] is a known 3D vector with the form :

    [tex]\omega(t) = [a_1+b_1*t , a_2+b_2*t , a_3+b_3*t ][/tex]

    also, [tex]\theta(t)[/tex] is the unknown 3D vector that we need to find. Its norm is [tex]\Vert\theta(t)\Vert[/tex].

    This type of math is too high for me. If you guys know a way to solve it for [tex]\theta(t)[/tex] with Maple, Mathlab or Scilab, I'd be happy, because anyone of those seems to explain how to solve an equation that contains vectors. I think a solver would be more appropriate because the equation is quite "big", if you know what I mean.

    Thanks.
     
  2. jcsd
  3. Aug 6, 2009 #2

    djeitnstine

    User Avatar
    Gold Member

    Try decomposing it into its scalar components first.

    Then you get a system of 3 diffeq's
     
  4. Aug 6, 2009 #3
    Thanks, but ok, le's say I decomposed it in 3 differential equations. Here I'll have :

    [tex]\frac{d}{dt}\theta_1(t) = F(\theta_1(t), \theta_2(t), \theta_3(t) )[/tex]
    [tex]\frac{d}{dt}\theta_2(t) = F(\theta_1(t), \theta_2(t), \theta_3(t) )[/tex]
    [tex]\frac{d}{dt}\theta_3(t) = F(\theta_1(t), \theta_2(t), \theta_3(t) )[/tex]

    Let's say I use Maple to solve, what do I have to do next?
     
  5. Aug 18, 2009 #4
    Hi there!

    Why not trying to simplify the equation at first:

    [tex]\theta\times(\theta\times\omega)=\theta(\theta\omega)-\omega ||\theta||^2)[/tex]

    plugging it in the equation gives:

    [tex]\dot\theta=\omega-\frac{1}{2}\theta\times\omega+\frac{1}{||\theta||^2}(1-\frac{||\theta||}{2}\cot\frac{||\theta||}{2})(\theta(\theta\omega)-\omega ||\theta||^2)[/tex]

    now, let's get rid of some terms, let's left-operate with x theta:

    [tex]\theta\times\dot\theta=\theta\times\omega-\frac{1}{2}\theta\times(\theta\times\omega)+\theta\times\frac{1}{||\theta||^2}(1-\frac{||\theta||}{2}\cot\frac{||\theta||}{2})(\theta(\theta\omega)-\omega ||\theta||^2)[/tex]


    [tex]\theta\times\dot\theta=\theta\times\omega-\frac{1}{2}\theta\times(\theta\times\omega)+\frac{1}{||\theta||^2}(1-\frac{||\theta||}{2}\cot\frac{||\theta||}{2})(\theta\times\theta(\theta\omega)-\theta\times\omega ||\theta||^2)[/tex]

    observe that [tex]\theta\times\theta=0[/tex] and (\theta\omega) is a scalar

    [tex]\theta\times\dot\theta=\theta\times\omega-\frac{1}{2}\theta\times(\theta\times\omega)+\frac{1}{||\theta||^2}(1-\frac{||\theta||}{2}\cot\frac{||\theta||}{2})(-\theta\times\omega ||\theta||^2)[/tex]

    now, simplfying a little gives:

    [tex]\theta\times\dot\theta=\theta\times\omega-\frac{1}{2}\theta\times(\theta\times\omega)+(1-\frac{||\theta||}{2}\cot\frac{||\theta||}{2})(-\theta\times\omega)[/tex]

    and using [tex]\omega\times\theta=-\theta\times\omega[/tex]

    [tex]\theta\times\dot\theta=\theta\times\omega-\frac{1}{2}\theta\times(\theta\times\omega)-\theta\times\omega-\frac{||\theta||}{2}\cot\frac{||\theta||}{2}\theta\times\omega[/tex]

    or

    [tex]-2\theta\times\dot\theta=\theta\times(\theta\times\omega)+||\theta||\cot\frac{||\theta||}{2}\theta\times\omega[/tex]

    Well, to me it looks a tiny little bit better, the inhomogenety is at least not there any more , but the equation remains nonlinear which makes it hardly solvable analytically.
     
  6. Aug 20, 2009 #5

    Marin had taken all the trouble to show that probably there is no analytical solution. So I suggestion is that we go for numerical solution. Much easier. How about using Runge-Kutta method?
     
  7. Aug 20, 2009 #6
    Wow thanks guys! Your responses are very interesting and useful! Unfortunately, I don't really know much about the Runge-Kutta method =/
     
  8. Aug 20, 2009 #7
    That's all right there are a lot of programs that will do Runge-Kutta 4th order method for you. I know in particular that Matlab has ode45() which is pretty easy to use if you have matlab.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook