Question: What is the best way to do implicit differentiation on a system of equations?

I am trying to go from body-referenced aircraft velocities u, v, w, to angle of attack a, sideslip b, and total speed V. This is a standard problem for beginning aeronautics, I'm just wondering the best was to solve it with maple. Spefically, I would like to use the following relations to get short expressions for the derivatives of u, v, and w.

Given that

u = V * cos(a) * cos(b)

v = V*sin(b)

w = V*sin(a)*cos(b)

and all variables above are functions of time, how do you use Maple to get the following V, a, b time derivatives:

adot = (u*wdot - w*udot) / (u^2 + w^2)

bdot = (vdot * V - v  * Vdot) / (V^2 * cos( b) )

Vdot = (u * udot + v*vdot + w * wdot) / V

here are some trig identities:

tan (a) = w/u

sin (b) = v/V

V = (u^2 + v^2 + w^2)^ .5

and here's what I've got so far. I haven't been able to use implicitdiff on the system of equations.

It is right, it just doesn't simply down very well:

> eqn1 := u(t) = V(t)*cos(a(t))*cos(b(t));
print(`output redirected...`); # input placeholder
                u(t) = V(t) cos(a(t)) cos(b(t))
> eqn2 := v(t) = V(t)*sin(b(t));
print(`output redirected...`); # input placeholder
                     v(t) = V(t) sin(b(t))
> eqn3 := w(t) = V(t)*sin(a(t))*cos(b(t));
print(`output redirected...`); # input placeholder
                w(t) = V(t) sin(a(t)) cos(b(t))
> diff(eqn1, t);
print(`output redirected...`); # input placeholder
            d         / d      \                    
           --- u(t) = |--- V(t)| cos(a(t)) cos(b(t))
            dt        \ dt     /                    

                               / d      \          
              - V(t) sin(a(t)) |--- a(t)| cos(b(t))
                               \ dt     /          

                                         / d      \
              - V(t) cos(a(t)) sin(b(t)) |--- b(t)|
                                         \ dt     /
> solve(diff(eqn1, t), diff(u(t), t));
print(`output redirected...`); # input placeholder
            / d      \                    
            |--- V(t)| cos(a(t)) cos(b(t))
            \ dt     /                    

                                / d      \          
               - V(t) sin(a(t)) |--- a(t)| cos(b(t))
                                \ dt     /          

                                          / d      \
               - V(t) cos(a(t)) sin(b(t)) |--- b(t)|
                                          \ dt     /
> solve({diff(eqn1, t), diff(eqn2, t), diff(eqn3, t)}, {diff(V(t), t), diff(a(t), t), diff(b(t), t)});
print(`output redirected...`); # input placeholder
 /                                                               
 |                                                               
 | d                                  1                          
< --- V(t) = ---------------------------------------------------
 | dt        /         2            2\ /         2            2\
 |           \cos(b(t))  + sin(b(t)) / \sin(a(t))  + cos(a(t)) /
 \                                                               

  /          / d      \          
  |cos(b(t)) |--- w(t)| sin(a(t))
  \          \ dt     /          

                         / d      \
   + cos(b(t)) cos(a(t)) |--- u(t)|
                         \ dt     /

     / d      \                    2
   + |--- v(t)| sin(b(t)) sin(a(t))
     \ dt     /                     

     / d      \                    2\  
   + |--- v(t)| sin(b(t)) cos(a(t)) |,
     \ dt     /                     /  

                       / d      \   / d      \                       
             cos(a(t)) |--- w(t)| - |--- u(t)| sin(a(t))             
   d                   \ dt     /   \ dt     /             d         
  --- a(t) = -------------------------------------------, --- b(t) =
   dt                        /         2            2\     dt        
              cos(b(t)) V(t) \sin(a(t))  + cos(a(t)) /               

                             1                             /
  -------------------------------------------------------- |
       /         2            2\ /         2            2\ \
  V(t) \cos(b(t))  + sin(b(t)) / \sin(a(t))  + cos(a(t)) /  
 / d      \                       / d      \          2          
-|--- w(t)| sin(b(t)) sin(a(t)) + |--- v(t)| sin(a(t))  cos(b(t))
 \ dt     /                       \ dt     /                     

               / d      \          
   - cos(a(t)) |--- u(t)| sin(b(t))
               \ dt     /          

                                     \
                                     |
     / d      \          2          \|
   + |--- v(t)| cos(a(t))  cos(b(t))| >
     \ dt     /                     /|
                                     |
                                     /
print(??); # input placeholder

simplify(%);
print(`output redirected...`); # input placeholder
 /                                         
 |                                         
<  d                   / d      \          
 |--- V(t) = cos(b(t)) |--- w(t)| sin(a(t))
 \ dt                  \ dt     /          

                         / d      \   / d      \            
   + cos(b(t)) cos(a(t)) |--- u(t)| + |--- v(t)| sin(b(t)),
                         \ dt     /   \ dt     /            

                       / d      \   / d      \                       
             cos(a(t)) |--- w(t)| - |--- u(t)| sin(a(t))             
   d                   \ dt     /   \ dt     /             d         
  --- a(t) = -------------------------------------------, --- b(t) =
   dt                      V(t) cos(b(t))                  dt        

     1   // d      \                       / d      \          
  - ---- ||--- w(t)| sin(b(t)) sin(a(t)) - |--- v(t)| cos(b(t))
    V(t) \\ dt     /                       \ dt     /          

                                    \
                                    |
               / d      \          \ >
   + cos(a(t)) |--- u(t)| sin(b(t))||
               \ dt     /          //
> subs(V(t) = u(t)^2+v(t)^2+w(t)^2, %);
print(`output redirected...`); # input placeholder
 /                                                            
 |                                                            
 | d  /    2       2       2\             / d      \          
< --- \u(t)  + v(t)  + w(t) / = cos(b(t)) |--- w(t)| sin(a(t))
 | dt                                     \ dt     /          
 |                                                            
 \                                                            

                         / d      \   / d      \            
   + cos(b(t)) cos(a(t)) |--- u(t)| + |--- v(t)| sin(b(t)),
                         \ dt     /   \ dt     /            

                       / d      \   / d      \                       
             cos(a(t)) |--- w(t)| - |--- u(t)| sin(a(t))             
   d                   \ dt     /   \ dt     /             d         
  --- a(t) = -------------------------------------------, --- b(t) =
   dt             /    2       2       2\                  dt        
                  \u(t)  + v(t)  + w(t) / cos(b(t))                  

              1           // d      \                    
  - --------------------- ||--- w(t)| sin(b(t)) sin(a(t))
        2       2       2 \\ dt     /                    
    u(t)  + v(t)  + w(t)                                 

                                                           \
                                                           |
     / d      \                       / d      \          \|
   - |--- v(t)| cos(b(t)) + cos(a(t)) |--- u(t)| sin(b(t))| >
     \ dt     /                       \ dt     /          /|
                                                           |
                                                           /
> subs(sin(a(t))*cos(b(t)) = w(t)/V(t), %);

Please Wait...