# fusemag

Correct states using magnetometer data for `insfilterMARG`

## Syntax

``[res,resCov] = fusemag(FUSE,magReadings,magReadingsCovariance)``

## Description

example

````[res,resCov] = fusemag(FUSE,magReadings,magReadingsCovariance)` fuses magnetometer data to correct the state estimate.```

## Examples

collapse all

`Create` an `insfilterMARG` object and display its state.

```filter = insfilterMARG; disp(filter.State')```
``` 1.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27.5550 -2.4169 -16.0849 0 0 0 ```

```magReading = [132.7000 91.1000 60.5000]; magCovariance = eye(3); [res,resCovariance] = fusemag(filter,magReading,magCovariance)```
```res = 1×3 105.1450 93.5169 76.5849 ```
```resCovariance = 3×3 1.0041 0.0000 -0.0000 -0.0000 1.0041 0.0000 0.0000 -0.0000 1.0041 ```

Display the filter state.

`disp(filter.State')`
``` 1.0000 -0.0026 0.0076 -0.0056 0 0 0 0 0 0 0 0 0 0 0 0 27.5551 -2.4168 -16.0848 0.0001 0.0001 0.0001 ```

## Input Arguments

collapse all

`insfilterMARG`, specified as an object.

Magnetometer readings in µT, specified as a 3-element row vector of finite real numbers.

Data Types: `single` | `double`

Magnetometer readings error covariance in µT2, specified as a scalar, 3-element row vector, or 3-by-3 matrix.

Data Types: `single` | `double`

## Output Arguments

collapse all

Residual, returned a 1-by-3 vector of real values in µT.

Data Types: `single` | `double`

Residual covariance, returned a 3-by-3 matrix of real values in (µT)2.

## Version History

Introduced in R2018b