Documentation

dcm2alphabeta

Convert direction cosine matrix to angle of attack and sideslip angle

Syntax

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

Description

[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).

Examples

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 