Index Page
cspice_dvnorm
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 

Abstract
I/O
Examples
Particulars
Required Reading
Version
Index_Entries

Abstract


   CSPICE_DVNORM returns the derivative of the vector norm of a 3-vector.

I/O


   Given:

      state   6-vector(s), the second three components of the vector(s)
              being the derivatives of the first three with respect to
              some scalar.

                 state =  ( x, dx )
                               --
                               ds

              A common form for 'state' would contain position and
              velocity.

              [6,n] = size(state); double = class(state)

   the call:

      dvnorm = cspice_dvnorm(state)

   returns:

      dvnorm   the value(s) of d||x|| corresponding to 'state'.
                               ------
                               ds

                                    1/2         2    2    2  1/2
               Where ||x|| = < x, x >    =  ( x1 + x2 + x3 )


                         v = ( dx1, dx2, dx3 )
                               ---  ---  ---
                               ds   ds   ds

                     d||x||   < x, v >
                    ------ =   ------    =  < xhat, v >
                      ds             1/2
                              < x, x >

             'dvnorm' returns with the same vectorization measure (N)
             as 'state'.

              [1,n] = size(dvnorm); double = class(dvnorm)

Examples


   Any numerical results shown for this example may differ between
   platforms as the results depend on the SPICE kernels used as input
   and the machine specific arithmetic implementation.

      %
      % Create several 6-vectors (6x1 arrays) with the structure
      %
      %   y = |  x  |
      %       |     |
      %       |  dx |
      %       |  -- |
      %       |  ds |
      %
      % where 'x' is a 3-vector (3x1 array).
      %

      %
      % Create 'y' with 'x' of varying magnitudes. Use 'x'
      % and '-x' to define the derivative as parallel and
      % anti-parallel.
      %
      mag = [ -4, 4, 12 ];

      x   = [ 1, sqrt(2), sqrt(3 ) ]';

      y   = [ [x * 10^mag(1);  x], ...
              [x * 10^mag(2); -x], ...
              [  zeros(3,1);  x * 10^mag(3) ] ];

      %
      % Calculate the derivative of the vector norms with respect
      % to 's'.
      %
      dvnorm = cspice_dvnorm( y );

      fprintf( 'Parallel x, dx/ds         : %f\n', dvnorm(1) )
      fprintf( 'Anti-parallel x, dx/ds    : %f\n', dvnorm(2) )
      fprintf( 'Zero vector x, large dx/ds: %f\n', dvnorm(3) )

   Matlab outputs:

      Parallel x, dx/ds         : 2.449490
      Anti-parallel x, dx/ds    : -2.449490
      Zero vector x, large dx/ds: 0.000000

Particulars


   None.

Required Reading


   For important details concerning this module's function, please refer to
   the CSPICE routine dvnorm_c.

   MICE.REQ

Version


   -Mice Version 1.0.1, 09-NOV-2012 (EDW)

      Edited I/O section to conform to NAIF standard for Mice documentation.

   -Mice Version 1.0.0, 10-MAY-2010 (EDW)

Index_Entries


   derivative of 3-vector norm


Wed Apr  5 18:00:31 2017