Main Content

Aero.FixedWing.State Class

Namespace: Aero

Define condition of Aero.FixedWing aircraft at time instant

Description

Use the Aero.FixedWing.State class to define the condition of an Aero.FixedWing aircraft at a time instant. The Aero.FixedWing.State object contains the information about the current state of an aircraft at a single instance in time. A subclass can inherit the Aero.FixedWing.State.

  • To get dependent properties defined by subclass, use the getState method.

  • To set dependent properties, use the setState method.

  • To use custom state properties within the Aero.FixedWing object methods, create a subclass.

Class Attributes

Sealed
false

For information on class attributes, see Class Attributes.

Creation

Description

Aero.FixedWing.State creates a single Aero.FixedWing.State object with default property values.

Aero.FixedWing.State(N) creates an N-by-N matrix of Aero.FixedWing.State.

Aero.FixedWing.State(M,N,P,...) or Aero.FixedWing.State([M N P ...]) creates an M-by-N-by-P-by-... array of Aero.FixedWing.State.

Aero.FixedWing.State(size(A)) creates an Aero.FixedWing.State object that is the same size as A and all Aero.FixedWing.State objects.

Aero.FixedWing.State(__,property,propertyValue) creates an array of Aero.FixedWing.State objects with property, propertyValue pairs applied to each of the Aero.FixedWing array objects. For a list of properties, see Properties.

example

Input Arguments

expand all

Number of fixed-wing objects, specified as a scalar.

Number of fixed-wing objects, specified as a scalar.

Number of fixed-wing objects, specified as a scalar.

Size of fixed-wing object, specified as a scalar.

Properties

expand all

Public Properties

Unit system, specified as a scalar string or character vector.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Angle system, specified as 'Radians' or 'Degrees'.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Temperature system, specified as 'Kelvin', 'Celsius', 'Rankine', or 'Fahrenheit'.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Fixed-wing aircraft mass, specified as a scalar numeric, in the units:

UnitUnit System

newtons (N)

'Metric'

slugs (slug)

'English (kts)' and 'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Inertial matrix of aircraft, specified as a 3-by-3 table of numeric values specifying the body in this matrix form:

 XYZ
XIxxIxyIxz
YIyxIyyIyz
ZIzxIzyIzz

The matrix has these units:

UnitUnit System

kilogram meters squared (kg m^2)

'Metric'

slug feet squared (slug ft^2)

'English (kts)' and 'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Location of center of gravity on the fixed-wing aircraft body axes, specified as a three-element vector in body axes with positive X-axis forward, Y-axis right, and Z-axis down. The object considers only the distance between center of pressure and center of gravity, not the absolute positions. The vector is in one of these units.

UnitUnit System

Meters (m)

'Metric'

Feet (ft)

'English (kts)' and 'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Location of center of pressure on the fixed-wing aircraft body frame axes, specified as a three-element vector in body axes with positive X-axis forward, Y-axis right, and Z-axis down. The vector is in one of these units:

UnitUnit System

Meters (m)

'Metric'

Feet (ft)

'English (kts)' and 'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Altitude above sea level, specified as a scalar numeric, in these units:

UnitUnit System

Meters (m)

'Metric'

Feet (ft)

'English (kts)' and 'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Ground height above sea level, specified as a scalar numeric in these units:

UnitUnit System

Meters (m)

'Metric'

Feet (ft)

'English (kts)' and 'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

North position of fixed-wing aircraft, specified as a scalar numeric in these units:

UnitUnit System

Meters (m)

'Metric'

Feet (ft)

'English (kts)' and 'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

East position of fixed-wing aircraft, specified as a scalar numeric in these units:

UnitUnit System

Meters (m)

'Metric'

Feet (ft)

'English (kts)' and 'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Current airspeed, specified as a scalar numeric in these units:

UnitUnit System

Meters per second (m/s)

'Metric'

Feet per second (ft/s)

'English (kts)'

Knots (kts)

'English (ft/s)'

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Angle of attack, specified as a scalar numeric in the units defined in AngleSystem.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Angle of sideslip, specified as a scalar numeric in the units specified in AngleSystem.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Euler roll angle, specified as a scalar numeric in units of radians or degrees depending on the AngleSystem property.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Euler pitch angle, specified as a scalar numeric in units of radians or degrees depending on the AngleSystem property.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Euler yaw angle, specified as a scalar numeric in units of radians or degrees depending on the AngleSystem property.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Body roll rate, specified as a scalar numeric in units of radians per second or degrees per second depending on the AngleSystem property.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Body pitch rate, specified as a scalar numeric in units of radians per second or degrees per second depending on the AngleSystem property.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Body yaw rate, specified as a scalar numeric in units of radians per second or degrees per second depending on the AngleSystem property.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Angle of attack rate on fixed-wing aircraft, specified as a scalar numeric in units of radians per second or degrees per second depending on the AngleSystem property.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Angle of sideslip rate on the fixed-wing aircraft, specified as a scalar numeric in units of radians per second or degrees per second depending on the AngleSystem property.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Current control state values, specified as a vector.

You cannot set effective control variables created with asymmetric control surfaces.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Definition of current environment, contained in an Aero.Aircraft.Environment object, specified as a scalar.

Attributes:

GetAccess
public
SetAccess
public

Data Types: string | char

Protected Properties

Fixed-wing aircraft weight, specified as a scalar numeric, in these units:

UnitUnit System

newtons (N)

'Metric'

pound-force (lbf)

'English (kts)' and 'English (ft/s)'

Weight depends on the values of the Mass and Gravity properties of the Aero.Aircraft.Environment object, with the equation

Weight = Mass * Environment.Gravity.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Altitude above ground level, specified as a scalar numeric value in these units:

UnitUnit System

meters (m)

'Metric'

feet (ft)

'English (kts)' and 'English (ft/s)'

AltitudeAGL depends on the values of the AltitudeMSL and GroundHeight public properties, with the equation:

AltitudeAGL = AltitudeMSL - GroundHeight.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Down position of fixed-wing aircraft, specified as a scalar numeric in these units:

UnitUnit System

Meters (m)

'Metric'

Feet (ft)

'English (kts)' and 'English (ft/s)'

XD depends on the value of the AltitudeMSL public property, with the equation

XD = -1 * AltitudeMSL.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Current ground speed of fixed-wing aircraft, specified as a nonnegative scalar in these units:

UnitUnit System

Meters/sec (m/s)

'Metric'

Feet/sec (ft/s)

'English (ft/s)'

knots (kts)

'English (kts)'

Groundspeed depends on the values of the U, V, and R public properties, with the equation

Groundspeed = sqrt(Ug2,Vg2,Wg2).

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Mach number of fixed-wing aircraft, specified as a numeric scalar.

MachNumber depends on the values of the AirSpeed and SpeedOfSound public properties, with the equation

MachNumber = AirSpeed/Environment.SpeedOfSound.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Velocity of fixed-wing aircraft relative to freestream in body axes, specified as a three-element vector.

BodyVelocity depends on the values of U, V, and W public properties, with the equation

BodyVelocity = [U V W].

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Ground velocity of the fixed-wing aircraft, specified as a three-element vector, defined with the equation

GroundVelocity = BodyVelocity - (InertialToBodyMatrix * Environment.WindVelocity).

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

X component of body velocity, specified as scalar numeric. U depends on Airspeed, Alpha, and Beta, defined with the equation

U = Airspeed * cos(Alpha) * cos(Beta).

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Y component of body velocity, specified as scalar numeric. Y depends on Airspeed and Beta, defined with the equation

V = Airspeed * sin(Beta).

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Z component of body velocity, specified as scalar numeric. Z depends on Airspeed, Alpha, and Beta, defined with the equation

Z = Airspeed * sin(Alpha) * cos(Beta).

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

X component of ground velocity, specified as scalar numeric. Ug depends on GroundVelocity.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Y component of ground velocity, specified as scalar numeric. Ug depends on GroundVelocity.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Z component of ground velocity, specified as scalar numeric. Wg depends on GroundVelocity.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Flight path angle, specified as a scalar numeric in units of radians or degrees depending on the AngleSystem property. FlightPathAngle depends on Wg and Ug. FlightPathAngle is defined with the equation:

FlightPathAngle = atan2(Wg,Ug).

.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Course angle, specified as a scalar numeric in units of radians or degrees depending on the AngleSystem property. CourseAngle depends on Vg and Ug with the equation

CourseAngle = atan2(Vg,Ug).

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Inertial to body axes transformation matrix, specified as a 3-by-3 matrix to convert stability axes to body axes. This property depends on the Phi, Theta, and Psi properties.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Body axes to stability axes transformation matrix, specified as a 3-by-3 matrix to convert stability axes to body axes. This property depends on the Phi, Theta, and Psi properties.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Body to wind axes transformation matrix, specified as a 3-by-3 matrix to convert body axes to wind axes. This property depends on the Alpha and Beta properties. For a definition of BodyToWindMatrix, see Algorithms.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Wind to body axes transformation matrix, specified as a 3-by-3 matrix to convert wind axes to the body axes. This property depends on the Alpha and Beta properties. For a definition of WindToBodyMatrix, see Algorithms.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Body axes to stability axes transformation matrix, specified as a 3-by-3 matrix. For a definition of BodyToStabilityMatrix, see Algorithms.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: string | char

Stability axes to body matrix axes transformation matrix, specified as a 3-by-3 matrix. For a definition of StabilityToBodyMatrix, see Algorithms.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: string | char

Dynamic pressure at current state, specified as a scalar numeric in these units:

UnitUnit System

Pascals (Pa)

'Metric'

pounds per foot squared (lbf/ft2)

'English (ft/s)' and 'English (kts)'

This property is defined with the equation

DynamicPressure = 0.5 * Environment.Density * Airspeed2.

Attributes:

GetAccess
Restricts access
SetAccess
protected

Data Types: double

Methods

expand all

Examples

collapse all

Create and set up dynamic behavior and the current state for an Aero.FixedWing object aircraft.

Create a fixed-wing object.

aircraft = Aero.FixedWing()
aircraft = 
  FixedWing with properties:

        ReferenceArea: 0
        ReferenceSpan: 0
      ReferenceLength: 0
         Coefficients: [1×1 Aero.FixedWing.Coefficient]
     DegreesOfFreedom: "6DOF"
             Surfaces: [1×0 Aero.FixedWing.Surface]
              Thrusts: [1×0 Aero.FixedWing.Thrust]
          AspectRatio: NaN
           Properties: [1×1 Aero.Aircraft.Properties]
           UnitSystem: "Metric"
    TemperatureSystem: "Kelvin"
          AngleSystem: "Radians"

Define the reference area, span, and length. These quantities are used to compute forces and moments from nondimensional coefficients.

aircraft.ReferenceArea = 16;
aircraft.ReferenceSpan = 11;
aircraft.ReferenceLength = 1.5
aircraft = 
  FixedWing with properties:

        ReferenceArea: 16
        ReferenceSpan: 11
      ReferenceLength: 1.5000
         Coefficients: [1×1 Aero.FixedWing.Coefficient]
     DegreesOfFreedom: "6DOF"
             Surfaces: [1×0 Aero.FixedWing.Surface]
              Thrusts: [1×0 Aero.FixedWing.Thrust]
          AspectRatio: 7.5625
           Properties: [1×1 Aero.Aircraft.Properties]
           UnitSystem: "Metric"
    TemperatureSystem: "Kelvin"
          AngleSystem: "Radians"

To define the aircraft dynamic behavior, set lift and drag coefficients.

aircraft = setCoefficient(aircraft, ["CD", "CD", "CL", "CL"], ["Zero", "Alpha", "Zero", "Alpha"], [0.027, 0.121, 0.307, 4.41])
aircraft = 
  FixedWing with properties:

        ReferenceArea: 16
        ReferenceSpan: 11
      ReferenceLength: 1.5000
         Coefficients: [1×1 Aero.FixedWing.Coefficient]
     DegreesOfFreedom: "6DOF"
             Surfaces: [1×0 Aero.FixedWing.Surface]
              Thrusts: [1×0 Aero.FixedWing.Thrust]
          AspectRatio: 7.5625
           Properties: [1×1 Aero.Aircraft.Properties]
           UnitSystem: "Metric"
    TemperatureSystem: "Kelvin"
          AngleSystem: "Radians"

Define the current state of the aircraft.

state = Aero.FixedWing.State(...
  "Mass", 1400,...
  "Airspeed", 67,...
  "AltitudeMSL",2000)
state = 
  State with properties:

                     Mass: 1400
                  Inertia: [3×3 table]
          CenterOfGravity: [0 0 0]
         CenterOfPressure: [0 0 0]
              AltitudeMSL: 2000
             GroundHeight: 0
                       XN: 0
                       XE: 0
                       XD: -2000
                        U: 67
                        V: 0
                        W: 0
                 Airspeed: 67
                      Phi: 0
                    Theta: 0
                      Psi: 0
                        P: 0
                        Q: 0
                        R: 0
                    Alpha: 0
                     Beta: 0
                 AlphaDot: 0
                  BetaDot: 0
                   Weight: 13734
              AltitudeAGL: 2000
              GroundSpeed: 67
               MachNumber: 0.1969
             BodyVelocity: [67 0 0]
           GroundVelocity: [67 0 0]
                       Ug: 67
                       Vg: 0
                       Wg: 0
          FlightPathAngle: 0
              CourseAngle: 0
     InertialToBodyMatrix: [3×3 double]
     BodyToInertialMatrix: [3×3 double]
         BodyToWindMatrix: [3×3 double]
         WindToBodyMatrix: [3×3 double]
    BodyToStabilityMatrix: [3×3 double]
    StabilityToBodyMatrix: [3×3 double]
          DynamicPressure: 2.7495e+03
              Environment: [1×1 Aero.Aircraft.Environment]
            ControlStates: [1×0 Aero.Aircraft.ControlState]
         OutOfRangeAction: "Limit"
         DiagnosticAction: "Warning"
               Properties: [1×1 Aero.Aircraft.Properties]
               UnitSystem: "Metric"
        TemperatureSystem: "Kelvin"
              AngleSystem: "Radians"

Calculate the forces and moments on the aircraft.

[F, M] = forcesAndMoments(aircraft, state)
F = 3×1
103 ×

   -1.1878
         0
    0.2284

M = 3×1

     0
     0
     0

Set aircraft coefficients for an Aero.FixedWing object and use these coefficients to compute aircraft forces and moments.

Create a fixed-wing object.

aircraft = Aero.FixedWing(...
  "ReferenceArea", 16,...
  "ReferenceSpan", 11,...
  "ReferenceLength", 1.5);

Set aircraft coefficients.

coeffs = {
  'CD', 'Zero', 0.027;
  'CL', 'Zero', 0.307;
  'Cm', 'Zero', 0.04;
  'CD', 'Alpha', 0.121;
  'CL', 'Alpha', 4.41;
  'Cm', 'Alpha', -0.613;
};
aircraft = setCoefficient(aircraft, coeffs(:,1), coeffs(:,2), coeffs(:,3))
aircraft = 
  FixedWing with properties:

        ReferenceArea: 16
        ReferenceSpan: 11
      ReferenceLength: 1.5000
         Coefficients: [1×1 Aero.FixedWing.Coefficient]
     DegreesOfFreedom: "6DOF"
             Surfaces: [1×0 Aero.FixedWing.Surface]
              Thrusts: [1×0 Aero.FixedWing.Thrust]
          AspectRatio: 7.5625
           Properties: [1×1 Aero.Aircraft.Properties]
           UnitSystem: "Metric"
    TemperatureSystem: "Kelvin"
          AngleSystem: "Radians"

Define the aircraft state.

state = Aero.FixedWing.State(...
    "Mass", 1400,...
    "Airspeed", 67,...
    "AltitudeMSL",2000,...
    "Alpha",0)
state = 
  State with properties:

                     Mass: 1400
                  Inertia: [3×3 table]
          CenterOfGravity: [0 0 0]
         CenterOfPressure: [0 0 0]
              AltitudeMSL: 2000
             GroundHeight: 0
                       XN: 0
                       XE: 0
                       XD: -2000
                        U: 67
                        V: 0
                        W: 0
                 Airspeed: 67
                      Phi: 0
                    Theta: 0
                      Psi: 0
                        P: 0
                        Q: 0
                        R: 0
                    Alpha: 0
                     Beta: 0
                 AlphaDot: 0
                  BetaDot: 0
                   Weight: 13734
              AltitudeAGL: 2000
              GroundSpeed: 67
               MachNumber: 0.1969
             BodyVelocity: [67 0 0]
           GroundVelocity: [67 0 0]
                       Ug: 67
                       Vg: 0
                       Wg: 0
          FlightPathAngle: 0
              CourseAngle: 0
     InertialToBodyMatrix: [3×3 double]
     BodyToInertialMatrix: [3×3 double]
         BodyToWindMatrix: [3×3 double]
         WindToBodyMatrix: [3×3 double]
    BodyToStabilityMatrix: [3×3 double]
    StabilityToBodyMatrix: [3×3 double]
          DynamicPressure: 2.7495e+03
              Environment: [1×1 Aero.Aircraft.Environment]
            ControlStates: [1×0 Aero.Aircraft.ControlState]
         OutOfRangeAction: "Limit"
         DiagnosticAction: "Warning"
               Properties: [1×1 Aero.Aircraft.Properties]
               UnitSystem: "Metric"
        TemperatureSystem: "Kelvin"
              AngleSystem: "Radians"

Compute the forces and moments on the aircraft.

[F1, M1] = forcesAndMoments(aircraft, state)
F1 = 3×1
103 ×

   -1.1878
         0
    0.2284

M1 = 3×1
103 ×

         0
    2.6395
         0

Increase the angle of attack and recompute the forces and moments.

state.Alpha = deg2rad(2);
[F2, M2] = forcesAndMoments(aircraft, state)
F2 = 3×1
103 ×

   -0.6651
         0
   -6.5793

M2 = 3×1
103 ×

         0
    1.2275
         0

Set up control states for an Aero.FixingWing object. The control states store data about positions of controllable surfaces and thrusts.

Create a fixed-wing object.

aircraft = astC182();

Create an Aero.FixedWing.State object.

state = Aero.FixedWing.State(1, ...
    "UnitSystem","English (ft/s)",...
    "AngleSystem","Radians", ...
    "TemperatureSystem","Fahrenheit", ...
    "Mass",82.2981, ...
    "Airspeed", 220.1, ...
    "Beta", -0.013, ...
    "AltitudeMSL",5000);
state.Environment = aircraftEnvironment(aircraft,"ISA",state.AltitudeMSL);
state.Inertia.Variables = [
    948, 0,    0   ;
    0  , 1346, 0   ;
    0  , 0   , 1967;
    ];
state.CenterOfGravity = [0.264, 0 , 0] .* 4.9;
state.CenterOfPressure = [0.35, 0, 0] .* 4.9;

Use the setupControlStates method to define control states in state and set control positions for the elevator and propeller.

state = setupControlStates(state, aircraft);
state = setState(state, ["Elevator", "Propeller"],[deg2rad(3.57), 0.809])
state = 
  State with properties:

                     Mass: 82.2981
                  Inertia: [3×3 table]
          CenterOfGravity: [1.2936 0 0]
         CenterOfPressure: [1.7150 0 0]
              AltitudeMSL: 5000
             GroundHeight: 0
                       XN: 0
                       XE: 0
                       XD: -5000
                        U: 220.0814
                        V: -2.8612
                        W: 0
                 Airspeed: 220.1000
                      Phi: 0
                    Theta: 0
                      Psi: 0
                        P: 0
                        Q: 0
                        R: 0
                    Alpha: 0
                     Beta: -0.0130
                 AlphaDot: 0
                  BetaDot: 0
                   Weight: 2.6488e+03
              AltitudeAGL: 5000
              GroundSpeed: 220.1000
               MachNumber: 0.2006
             BodyVelocity: [220.0814 -2.8612 0]
           GroundVelocity: [220.0814 -2.8612 0]
                       Ug: 220.0814
                       Vg: -2.8612
                       Wg: 0
          FlightPathAngle: 0
              CourseAngle: -0.0130
     InertialToBodyMatrix: [3×3 double]
     BodyToInertialMatrix: [3×3 double]
         BodyToWindMatrix: [3×3 double]
         WindToBodyMatrix: [3×3 double]
    BodyToStabilityMatrix: [3×3 double]
    StabilityToBodyMatrix: [3×3 double]
          DynamicPressure: 49.6090
              Environment: [1×1 Aero.Aircraft.Environment]
            ControlStates: [1×4 Aero.Aircraft.ControlState]
         OutOfRangeAction: "Limit"
         DiagnosticAction: "Warning"
               Properties: [1×1 Aero.Aircraft.Properties]
               UnitSystem: "English (ft/s)"
        TemperatureSystem: "Fahrenheit"
              AngleSystem: "Radians"

Compute the aircraft forces and moments.

[F1, M1] = forcesAndMoments(aircraft, state)
F1 = 3×1

    9.6367
   44.1007
 -232.5206

M1 = 3×1

  372.8702
  -50.9126
 -218.5500

Deflect the elevator up to get a positive pitching moment, and then recompute forces and moments.

state = setState(state, "Elevator", deg2rad(4.5));
[F2, M2] = forcesAndMoments(aircraft, state)
F2 = 3×1

    9.6367
   44.1007
 -292.7681

M2 = 3×1

  372.8702
 -795.8233
 -218.5500

Algorithms

The BodyToStabilityMatrix transformation is defined by this matrix:

BodyToStabilityMatrix = 
[cos(Alpha),  0, sin(Alpha)]
[     0,      1,      0    ]
[-sin(Alpha), 0, cos(Alpha)]

The StabilityToBodyMatrix transformation is the transpose of BodyToStabilityMatrix transformation:

StabilityToBodyMatrix = BodyToStabilityMatrix'

The BodyToWindMatrix transformation is defined by this matrix:

[ cos(alpha)cos(beta)   sin(beta)   sin(alpha)cos(beta) ]
[-cos(alpha)sin(beta)   cos(beta)  -sin(alpha)sin(beta) ]
[-sin(alpha)                0       cos(alpha)          ]

The WindToBodyMatrix transformation is the transpose of BodyToWindMatrix transformation:

WindToBodyMatrix = BodyToWindMatrix'

Version History

Introduced in R2021a