Package edu.wpi.first.math.system
Class NumericalJacobian
java.lang.Object
edu.wpi.first.math.system.NumericalJacobian
Numerical Jacobian utilities.
-
Method Summary
Modifier and TypeMethodDescriptionnumericalJacobian(Nat<Rows> rows, Nat<Cols> cols, Function<Matrix<Cols, N1>, Matrix<States, N1>> f, Matrix<Cols, N1> x) Computes the numerical Jacobian with respect to x for f(x).numericalJacobianU(Nat<Rows> rows, Nat<Inputs> inputs, BiFunction<Matrix<States, N1>, Matrix<Inputs, N1>, Matrix<States, N1>> f, Matrix<States, N1> x, Matrix<Inputs, N1> u) Returns the numerical Jacobian with respect to u for f(x, u).static <Rows extends Num,States extends Num, Inputs extends Num, Outputs extends Num>
Matrix<Rows,States> numericalJacobianX(Nat<Rows> rows, Nat<States> states, BiFunction<Matrix<States, N1>, Matrix<Inputs, N1>, Matrix<Outputs, N1>> f, Matrix<States, N1> x, Matrix<Inputs, N1> u) Returns numerical Jacobian with respect to x for f(x, u, ...).
-
Method Details
-
numericalJacobian
public static <Rows extends Num,Cols extends Num, Matrix<Rows,States extends Num> Cols> numericalJacobian(Nat<Rows> rows, Nat<Cols> cols, Function<Matrix<Cols, N1>, Matrix<States, N1>> f, Matrix<Cols, N1> x) Computes the numerical Jacobian with respect to x for f(x).- Type Parameters:
Rows- Number of rows in the result of f(x).States- Num representing the number of rows in the output of f.Cols- Number of columns in the result of f(x).- Parameters:
rows- Number of rows in the result of f(x).cols- Number of columns in the result of f(x).f- Vector-valued function from which to compute the Jacobian.x- Vector argument.- Returns:
- The numerical Jacobian with respect to x for f(x, u, ...).
-
numericalJacobianX
public static <Rows extends Num,States extends Num, Matrix<Rows,Inputs extends Num, Outputs extends Num> States> numericalJacobianX(Nat<Rows> rows, Nat<States> states, BiFunction<Matrix<States, N1>, Matrix<Inputs, N1>, Matrix<Outputs, N1>> f, Matrix<States, N1> x, Matrix<Inputs, N1> u) Returns numerical Jacobian with respect to x for f(x, u, ...).- Type Parameters:
Rows- Number of rows in the result of f(x, u).States- Number of rows in x.Inputs- Number of rows in the second input to f.Outputs- Num representing the rows in the output of f.- Parameters:
rows- Number of rows in the result of f(x, u).states- Number of rows in x.f- Vector-valued function from which to compute Jacobian.x- State vector.u- Input vector.- Returns:
- The numerical Jacobian with respect to x for f(x, u, ...).
-
numericalJacobianU
public static <Rows extends Num,States extends Num, Matrix<Rows,Inputs extends Num> Inputs> numericalJacobianU(Nat<Rows> rows, Nat<Inputs> inputs, BiFunction<Matrix<States, N1>, Matrix<Inputs, N1>, Matrix<States, N1>> f, Matrix<States, N1> x, Matrix<Inputs, N1> u) Returns the numerical Jacobian with respect to u for f(x, u).- Type Parameters:
States- The states of the system.Inputs- The inputs to the system.Rows- Number of rows in the result of f(x, u).- Parameters:
rows- Number of rows in the result of f(x, u).inputs- Number of rows in u.f- Vector-valued function from which to compute the Jacobian.x- State vector.u- Input vector.- Returns:
- the numerical Jacobian with respect to u for f(x, u).
-