function
LinearAlgebra.josephUpdate
Dimension-generic Joseph-form covariance correction
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | factor | Real | [:, size(factor, 1)] | I - K*H |
| input | covariance | Real | [size(factor, 1), size(factor, 1)] | Predicted covariance |
| input | gain | Real | [size(factor, 1), :] | Kalman gain |
| input | measurementNoise | Real | [size(gain, 2), size(gain, 2)] | Measurement covariance |
| output | covarianceNext | Real | [size(factor, 1), size(factor, 1)] |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function josephUpdate "Dimension-generic Joseph-form covariance correction"
input Real factor[:, size(factor, 1)] "I - K*H";
input Real covariance[size(factor, 1), size(factor, 1)]
"Predicted covariance";
input Real gain[size(factor, 1), :] "Kalman gain";
input Real measurementNoise[size(gain, 2), size(gain, 2)]
"Measurement covariance";
output Real covarianceNext[size(factor, 1), size(factor, 1)];
algorithm
covarianceNext := transformCovariance(factor, covariance)
+ transformCovariance(gain, measurementNoise);
end josephUpdate;