Main Content

computeLongitudinalFlyingQualities

R2026b

Calculate short-period and long-period (phugoid) mode characteristics of specified state-space model

Description

lonFQOut = computeLongitudinalFlyingQualities(modelToAnalyze) calculates longitudinal flying qualities (short-period and phugoid mode) using the linear system state-space model selected in the input dialog window and compares the results against the specified source document requirements.

lonFQOut = computeLongitudinalFlyingQualities(modelToAnalyze,linSys) calculates longitudinal flying qualities (short-period and phugoid mode) using the linear system state-space model selected in the input dialog window.

To create a usable state-space model, use the linearizeAirframe function.

lonFQOut = computeLongitudinalFlyingQualities(modelToAnalyze,linSys,generatePlots) calculates longitudinal flying qualities (short-period and phugoid mode) using linear system state-space model linSys.

[lonFQOut,varNameOut] = computeLongitudinalFlyingQualities(___,Name=Value) returns the output results structure variable name, varNameOut, for the input argument combination in the previous syntax, according to the Name=Value arguments.

example

Examples

collapse all

Calculate the longitudinal flying qualities of a Simulink® aircraft model.

asbFlightControlAnalysis('3DOF', 'SkyHoggAnalysisModel');
opSpecDefault = SkyHogg3DOFOpSpec('SkyHoggAnalysisModel');
opTrim = trimAirframe('SkyHoggAnalysisModel', opSpecDefault);
linSys = linearizeAirframe('SkyHoggAnalysisModel', opTrim)
flyingQual = computeLongitudinalFlyingQualities('SkyHoggAnalysisModel', linSys)
 Operating point search report:
---------------------------------

 Operating point search report for the Model SkyHoggAnalysisModel.
 (Time-Varying Components Evaluated at time t=0)

Operating point specifications were successfully met.
States: 
----------
(1.) Xe
      x:     -4.45e-14      dx:           129
(2.) Ze
      x:        -2e+03      dx:     -1.69e-07 (0)
(3.) theta
      x:       0.00619      dx:             0 (0)
(4.) u
      x:           129      dx:      -7.9e-08 (0)
(5.) w
      x:         0.802      dx:     -5.24e-07 (0)
(6.) q
      x:             0      dx:     -8.41e-08 (0)

Inputs: 
----------
(1.) SkyHoggAnalysisModel/ElevatorCmd
      u:        0.0125    [-0.349 0.349]
(2.) SkyHoggAnalysisModel/ThrottleCmd
      u:         0.929    [-Inf Inf]

Outputs: 
----------
(1.) SkyHoggAnalysisModel/LonStatesBus
      y:     -4.45e-14    [-Inf Inf]
      y:        -2e+03    [-Inf Inf]
      y:       0.00619    [-Inf Inf]
      y:           129    [-Inf Inf]
      y:         0.802    [-Inf Inf]
      y:             0    [-Inf Inf]


linSys =
 
  A = 
                 u         w         q     theta
   u      -0.05768   0.04733   -0.8016    -9.806
   w       -0.1149    -5.532     129.4  -0.06073
   q      0.001031   -0.1665         0         0
   theta         0         0         1         0
 
  B = 
          ElevatorCmd  ThrottleCmd
   u           0.4828         0.36
   w            30.57            0
   q           -15.86            0
   theta            0            0
 
  C = 
              u      w      q  theta
   q          0      0      1      0
   theta      0      0      0      1
 
  D = 
          ElevatorCmd  ThrottleCmd
   q                0            0
   theta            0            0
 
Continuous-time state-space model.


flyingQual = 

  struct with fields:

        PhugoidMode: [1×1 struct]
    ShortPeriodMode: [1×1 struct]

Calculate the longitudinal flying qualities of an Aero.FixedWing object.

[aircraft, state] = astSkyHogg();
linSys = linearize(aircraft, state)
flyingQual = computeLongitudinalFlyingQualities('', linSys)
linSys =
 
  A = 
                 XN         XD          U          W          Q      Theta
   XN             0          0     0.9999     0.0154          0  5.186e-05
   XD             0          0    -0.0154     0.9999          0     -1.719
   U              0          0   -0.04342     0.1119   -0.02653    -0.1712
   W              0          0    -0.1286     -4.082      1.719  -0.002637
   Q              0          0     0.1083     -7.037          0          0
   Theta          0          0          0          0          1          0
 
  B = 
           Elevator  Propeller
   XN             0          0
   XD             0          0
   U      -0.002381      8.837
   W        -0.2997          0
   Q         -8.908          0
   Theta          0          0
 
  C = 
             XN     XD      U      W      Q  Theta
   XN         1      0      0      0      0      0
   XD         0      1      0      0      0      0
   U          0      0      1      0      0      0
   W          0      0      0      1      0      0
   Q          0      0      0      0      1      0
   Theta      0      0      0      0      0      1
 
  D = 
           Elevator  Propeller
   XN             0          0
   XD             0          0
   U              0          0
   W              0          0
   Q              0          0
   Theta          0          0
 
Continuous-time state-space model.

flyingQual = 

  struct with fields:

        PhugoidMode: [1×1 struct]
    ShortPeriodMode: [1×1 struct]

Input Arguments

collapse all

Model on which to perform flight control analysis using the linear state-space model linSys. To use a state-space model directly, set the model name to an empty string, ''.

Data Types: char | string

Linear state-space model object used to perform flight control analysis on modelToAnalyze. To create the state-space model from the input dialog boxmenu, set linSys to an empty string, ''. To create a valid state-space model, see linearizeAirframe.

The state-space model must have these state names:

  • U

  • W

  • Q

  • theta

Data Types: char | string

Set to on to plot the pole-zero map in a figure window for the linear system state-space model. Otherwise, set to off. The function plots the pole-zero map in different colors.

  • Phugoid — red

  • Short period — blue

Data Types: char | string

Name-Value Arguments

collapse all

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.

Example: SourceDocument=MIL1797A

Document for flying qualities requirements verification, specified as:

  • MIL8785C — Flying qualities of piloted airlines

  • MIL1797A — Flying qualities of piloted aircraft

Data Types: char | string

Flying qualities level, specified as:

  • Lowest — Returns the verified requirements closest to level 1 for each requirement in the selected source document.

  • All — Returns a struct vector with all requirement levels and their verification status.

  • 1, 2, or 3 — Returns the desired requirement level, regardless of the verification status.

Data Types: char | string

Output Arguments

collapse all

Phugoid and short-period longitudinal flying qualities, returned as a structure vector.

If a linear system is selected through the input dialog box, varNameOut returns the results structure variable name. Otherwise, varNameOut returns an empty string.

Limitations

This function requires the Simulink Control Design™ license.

Version History

Introduced in R2018b

expand all