Main Content

datcomToFixedWing

Class: Aero.FixedWing
Namespace: Aero

Construct fixed-wing aircraft from Digital DATCOM structure

Since R2021a

Syntax

aircraft = datcomToFixedWing(aircraft,datcomstruct)
[aircraft,state] = datcomToFixedWing(aircraft,datcomstruct)
[aircraft,state] = datcomToFixedWing(___,Name,Value)

Description

aircraft = datcomToFixedWing(aircraft,datcomstruct) returns a modified fixed-wing aircraft, aircraft, constructed from the fields of a Digital DATCOM structure, datcomstruct. To create a DATCOM structure, see datcomimport.

[aircraft,state] = datcomToFixedWing(aircraft,datcomstruct) returns an array of Aero.FixedWing.State objects in addition to the modified fixed-wing aircraft..

[aircraft,state] = datcomToFixedWing(___,Name,Value) returns the modified fixed-wing aircraft using additional options specified by one or more Name,Value pair arguments. Specify the Name,Value argument as the last input argument followed by the input argument combination in the previous syntax.

Input Arguments

expand all

Aero.FixedWing aircraft, specified as a scalar. To construct an empty aircraft, use Aero.FixedWing(0).

Digital DATCOM structure, specified as a scalar. To create the digital DATCOM structure, use the datcomimport function.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'StateMode','Exhaustive'

Build run dimension to use, specified as a scalar greater than or equal to 1 or less than or equal to datcomStruct.build. The default is the value of datcomStruct.build.

Data Types: double

Standard atmosphere model when calculating the environment properties temperature, pressure, speed of sound, density, and aircraft speed, specified as 'ISA' or 'COESA'.

Data Types: char | string

Source for constructing aircraft states, specified as

  • 'Scalar'datcomToFixedWing returns a scalar template state with the unit systems and control names derived from the DATCOM file. All other state fields retain their default values.

  • 'Exhaustive' — All supported fields from the DATCOM file are combined in an exhaustive state array. This option might take several minutes to execute.

Data Types: char | string

Output Arguments

expand all

Aero.FixedWing object, returned as a scalar. The method defines the aircraft coefficients of the object as Simulink.LookupTable objects derived from the coefficient fields in the Digital DATCOM structure datcomStruct.

Aero.FixedWing.State objects, returned as an array. The value depends on the StateMode value.

Examples

expand all

Construct a fixed-wing aircraft from an imported Digital DATCOM file.

datcomStruct = datcomimport('astdatcom.out');
aircraft = Aero.FixedWing();
aircraft.Properties.Name = "MyPlane";
aircraft = datcomToFixedWing(aircraft, datcomStruct{1})
aircraft = 

  FixedWing with properties:

        ReferenceArea: 225.8000
        ReferenceSpan: 41.1500
      ReferenceLength: 5.7500
         Coefficients: [1×1 Aero.FixedWing.Coefficient]
     DegreesOfFreedom: "6DOF"
             Surfaces: [1×0 Aero.FixedWing.Surface]
              Thrusts: [1×0 Aero.FixedWing.Thrust]
          AspectRatio: 7.4992
           UnitSystem: "English (ft/s)"
          AngleSystem: "Degrees"
    TemperatureSystem: "Rankine"
           Properties: [1×1 Aero.Aircraft.Properties]

Construct fixed-wing aircraft from Digital DATCOM file, specifying the build number.

datcomStruct = datcomimport('astdatcom.out');
aircraft = Aero.FixedWing();
aircraft.Properties.Name = "MyPlane";
aircraft = datcomToFixedWing(aircraft,datcomStruct{1},'Build',1)
aircraft = 

  FixedWing with properties:

        ReferenceArea: 225.8000
        ReferenceSpan: 41.1500
      ReferenceLength: 5.7500
         Coefficients: [1×1 Aero.FixedWing.Coefficient]
     DegreesOfFreedom: "6DOF"
             Surfaces: [1×0 Aero.FixedWing.Surface]
              Thrusts: [1×0 Aero.FixedWing.Thrust]
          AspectRatio: 7.4992
           UnitSystem: "English (ft/s)"
          AngleSystem: "Degrees"
    TemperatureSystem: "Rankine"
           Properties: [1×1 Aero.Aircraft.Properties]

Construct a fixed-wing aircraft from an imported Digital DATCOM file and return the exhaustive state array.

datcomStruct = datcomimport('astdatcom.out');
aircraft = Aero.FixedWing();
aircraft.Properties.Name = "MyPlane";
[aircraft,state] = datcomToFixedWing(aircraft,datcomStruct{1},'StateMode','Exhaustive')
aircraft = 

  FixedWing with properties:

        ReferenceArea: 225.8000
        ReferenceSpan: 41.1500
      ReferenceLength: 5.7500
         Coefficients: [1×1 Aero.FixedWing.Coefficient]
     DegreesOfFreedom: "6DOF"
             Surfaces: [1×0 Aero.FixedWing.Surface]
              Thrusts: [1×0 Aero.FixedWing.Thrust]
          AspectRatio: 7.4992
           UnitSystem: "English (ft/s)"
          AngleSystem: "Degrees"
    TemperatureSystem: "Rankine"
           Properties: [1×1 Aero.Aircraft.Properties]


state = 

  5×2×2 State array with properties:

    Alpha
    Beta
    AlphaDot
    BetaDot
    Mass
    Inertia
    CenterOfGravity
    CenterOfPressure
    AltitudeMSL
    GroundHeight
    XN
    XE
    XD
    U
    V
    W
    Phi
    Theta
    Psi
    P
    Q
    R
    Weight
    AltitudeAGL
    Airspeed
    GroundSpeed
    MachNumber
    BodyVelocity
    GroundVelocity
    Ur
    Vr
    Wr
    FlightPathAngle
    CourseAngle
    InertialToBodyMatrix
    BodyToInertialMatrix
    BodyToWindMatrix
    WindToBodyMatrix
    DynamicPressure
    Environment
    UnitSystem
    AngleSystem
    TemperatureSystem
    ControlStates
    OutOfRangeAction
    DiagnosticAction
    Properties

Limitations

  • This method supports only Digital DATCOM, which is the 1976 version of DATCOM.

  • This fields alpha, mach, alt, grndht, and delta must be strictly monotonically increasing.

  • This method requires a Simulink® license.

Version History

Introduced in R2021a