Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

statecovparts

Obtener y establecer parte de la matriz de covarianza de estados en insEKF

Desde R2022a

Descripción

covparts = statecovparts(filter,stateName) devuelve la submatriz de covarianza correspondiente al nombre de estado especificado del filtro. La submatriz devuelta es una matriz cuadrada extraída a lo largo de la diagonal principal de la matriz de covarianza de estado completo del filtro.

ejemplo

covparts = statecovparts(filter,sensor,stateName) devuelve la submatriz de covarianza correspondiente al nombre de estado especificado del sensor.

ejemplo

statecovparts(filter,stateName,value) establece la submatriz de covarianza correspondiente al nombre de estado especificado del filtro en el valor especificado.

ejemplo

statecovparts(filter,sensor,stateName,value) establece la submatriz de covarianza correspondiente al nombre de estado especificado del sensor especificado en el valor especificado.

ejemplo

Ejemplos

contraer todo

Crea un objeto sensor insAccelerometer.

acc = insAccelerometer;

Construya un objeto insEKF utilizando los dos objetos sensores.

filter = insEKF(acc);

Vea la matriz de covarianza de estado del filtro. De forma predeterminada, la matriz de covarianza de estado es una matriz de identidad de 10 por 10.

filter.StateCovariance
ans = 10×10

     1     0     0     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0     0     0
     0     0     1     0     0     0     0     0     0     0
     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0
     0     0     0     0     0     0     1     0     0     0
     0     0     0     0     0     0     0     1     0     0
     0     0     0     0     0     0     0     0     1     0
     0     0     0     0     0     0     0     0     0     1

Establezca la diagonal de la submatriz de covarianza correspondiente al acelerómetro en 3 y muestre la submatriz.

statecovparts(filter,acc,"Bias",3);  
statecovparts(filter,acc,"Bias")
ans = 3×3

     3     0     0
     0     3     0
     0     0     3

Establezca la diagonal de la submatriz de covarianza correspondiente al acelerómetro en [1 2 3] y muestre la submatriz.

statecovparts(filter,acc,"Bias",[1 2 3]);  
statecovparts(filter,acc,"Bias")
ans = 3×3

     1     0     0
     0     2     0
     0     0     3

Establezca la submatriz de covarianza correspondiente al acelerómetro en magic(3) y muestre la submatriz.

statecovparts(filter,acc,"Bias",magic(3));  
statecovparts(filter,acc,"Bias")
ans = 3×3

     8     1     6
     3     5     7
     4     9     2

Muestra la submatriz de covarianza correspondiente al acelerómetro directamente a través del filtro.

statecovparts(filter,"Accelerometer_Bias")
ans = 3×3

     8     1     6
     3     5     7
     4     9     2

Vea la matriz de covarianza del estado alterado.

filter.StateCovariance
ans = 10×10

     1     0     0     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0     0     0
     0     0     1     0     0     0     0     0     0     0
     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0
     0     0     0     0     0     0     1     0     0     0
     0     0     0     0     0     0     0     8     1     6
     0     0     0     0     0     0     0     3     5     7
     0     0     0     0     0     0     0     4     9     2

Argumentos de entrada

contraer todo

Filtro INS, especificado como un objeto insEKF.

Nombre de una parte del estado del filtro o sensor, especificado como un escalar de cadena o vector de caracteres.

Utilice la función de objeto stateinfo para encontrar los nombres de las partes del estado en el filtro.

Ejemplo: "AngularVelocity"

Ejemplo: "Bias"

Tipos de datos: char | string

Sensor inercial, especificado como uno de estos objetos utilizados para construir el objeto de filtro insEKF:

Valor de la matriz de covarianza de la parte de estado del filtro o sensor, especificado como una de estas opciones:

  • Escalar real: los elementos diagonales de la matriz de covarianza de la parte de estado resultante son todos iguales al escalar.

  • Vector de valor real del elemento N: la diagonal de la matriz de covarianza de la parte del estado resultante es igual al vector, donde N es la dimensión del estado correspondiente al argumento stateName.

  • Matriz de valores reales N por N: la matriz de covarianza de la parte de estado resultante es igual a la matriz, donde N es la dimensión del estado correspondiente al argumento stateName.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Matriz de covarianza correspondiente al nombre del estado, devuelta como una matriz de valores reales N por N.

Capacidades ampliadas

expandir todo

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2022a