Main Content

Convert direction cosine matrix to angle of attack and sideslip angle

`[a b] = dcm2alphabeta(n)`

[a b] = dcm2alplhabeta(n,action)

[a b] = dcm2angle(n,action,tolerance)

`[a b] = dcm2alphabeta(n)`

calculates
the angle of attack and sideslip angle, `a`

and `b`

,
for a given direction cosine matrix, `n`

. `n`

is
a 3-by-3-by-`m`

matrix containing `m`

orthogonal
direction cosine matrices. `a`

is an `m`

array
of angles of attack. `b`

is an `m`

array
of sideslip angles. `n`

performs the coordinate transformation
of a vector in body-axes into a vector in wind-axes. Angles of attack
and sideslip angles are output in radians.

`[a b] = dcm2alplhabeta(n,action)`

performs
`action`

if the direction cosine matrix is invalid (not
orthogonal).

Warning — Displays warning and indicates that the direction cosine matrix is .

Error — Displays error and indicates that the direction cosine matrix is .

None — Does not display warning or error (default).

`[a b] = dcm2angle(n,action,tolerance)`

uses a
`tolerance`

level to evaluate if the direction cosine matrix,
`n`

, is valid (orthogonal). `tolerance`

is a
scalar whose default is `eps(2)`

(`4.4409e-16`

). The
function considers the direction cosine matrix valid if these conditions are
true:

The transpose of the direction cosine matrix times itself equals

`1`

within the specified tolerance (`transpose(n)*n == 1±tolerance`

)The determinant of the direction cosine matrix equals

`1`

within the specified tolerance (`det(n) == 1±tolerance`

).

Determine the angle of attack and sideslip angle from direction cosine matrix:

dcm = [ 0.8926 0.1736 0.4162; ... -0.1574 0.9848 -0.0734; ... -0.4226 0 0.9063]; [alpha, beta] = dcm2alphabeta(dcm) alpha = 0.4363 beta = 0.1745

Determine the angle of attack and sideslip angle from multiple direction cosine matrices:

dcm = [ 0.8926 0.1736 0.4162; ... -0.1574 0.9848 -0.0734; ... -0.4226 0 0.9063]; dcm(:,:,2) = [ 0.9811 0.0872 0.1730; ... -0.0859 0.9962 -0.0151; ... -0.1736 0 0.9848]; [alpha, beta] = dcm2alphabeta(dcm) alpha = 0.4363 0.1745 beta = 0.1745 0.0873

Determine the angle of attack and sideslip angle from multiple direction cosine matrices validated within tolerance:

dcm = [ 0.8926 0.1736 0.4162; ... -0.1574 0.9848 -0.0734; ... -0.4226 0 0.9063]; dcm(:,:,2) = [ 0.9811 0.0872 0.1730; ... -0.0859 0.9962 -0.0151; ... -0.1736 0 0.9848]; [alpha, beta] = dcm2alphabeta(dcm,'Warning',0.1) alpha = 0.4363 0.1745 beta = 0.1745 0.0873