This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

constaccjac

Jacobian for constant-acceleration motion

Syntax

jacobian = constaccjac(state)
jacobian = constaccjac(state,dt)

Description

example

jacobian = constaccjac(state) returns the updated Jacobian , jacobian, for a constant-acceleration Kalman filter motion model. The step time is one second. The state argument specifies the current state of the filter.

example

jacobian = constaccjac(state,dt) also specifies the time step, dt.

Examples

collapse all

Compute the state Jacobian for two-dimensional constant-acceleration motion.

Define an initial state and compute the state Jacobian for a one second update time.

state = [1,1,1,2,1,0];
jacobian = constaccjac(state)
jacobian = 6×6

    1.0000    1.0000    0.5000         0         0         0
         0    1.0000    1.0000         0         0         0
         0         0    1.0000         0         0         0
         0         0         0    1.0000    1.0000    0.5000
         0         0         0         0    1.0000    1.0000
         0         0         0         0         0    1.0000

Compute the state Jacobian for two-dimensional constant-acceleration motion. Set the step time to 0.5 seconds.

state = [1,1,1,2,1,0].';
jacobian = constaccjac(state,0.5)
jacobian = 6×6

    1.0000    0.5000    0.1250         0         0         0
         0    1.0000    0.5000         0         0         0
         0         0    1.0000         0         0         0
         0         0         0    1.0000    0.5000    0.1250
         0         0         0         0    1.0000    0.5000
         0         0         0         0         0    1.0000

Input Arguments

collapse all

Kalman filter state vector for constant-acceleration motion, specified as a real-valued 3N-element vector. N is the number of spatial degrees of freedom of motion. For each spatial degree of motion, the state vector takes the form shown in this table.

Spatial DimensionsState Vector Structure
1-D[x;vx;ax]
2-D[x;vx;ax;y;vy;ay]
3-D[x;vx;ax;y;vy;ay;z;vz;az]

For example, x represents the x-coordinate, vx represents the velocity in the x-direction, and ax represents the acceleration in the x-direction. If the motion model is in one-dimensional space, the y- and z-axes are assumed to be zero. If the motion model is in two-dimensional space, values along the z-axis are assumed to be zero. Position coordinates are in meters. Velocity coordinates are in meters/second. Acceleration coordinates are in meters/second2.

Example: [5;0.1;0.01;0;-0.2;-0.01;-3;0.05;0]

Data Types: double

Time step interval of filter, specified as a positive scalar. Time units are in seconds.

Example: 0.5

Data Types: single | double

Output Arguments

collapse all

Constant-acceleration motion Jacobian, returned as a real-valued 3N-by-3N matrix.

Algorithms

For a two-dimensional constant-acceleration process, the Jacobian matrix after a time step, T, is block diagonal:

[1T12T200001T0000010000001T12T200001T000001]

The block for each spatial dimension has this form:

[1T12T201T001]

For each additional spatial dimension, add an identical block.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2018b