メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

固定翼機を始めよう

この例では、MATLAB ® で固定翼機を作成して使用する方法を示します。

航空機に現実的な係数を設定し、静的安定性を計算する例については、「固定翼機の非線形ダイナミクスと静的安定性の決定」を参照してください。

Digital DATCOM 解析から係数をインポートし、状態空間モデルに線形化する例については、「線形制御および静的安定性解析のための状態空間モデルの解析」を参照してください。

カスタム状態の作成例については、「追加の航空機状態を使用して固定翼機をカスタマイズする」を参照してください。

固定翼機とは何ですか?

固定翼航空機には、機体から伸びた固定された翼型面から揚力を生成するすべての航空機が含まれます。固定翼機の標準的な構成は、重心に大きな主翼があり、機体の端に水平安定板と垂直安定板があるものです。

固定翼機の大きな主翼は揚力を発生させ、水平安定板と垂直安定板は安定性と制御のための反力とモーメントを提供します。しかし、回転翼航空機とは異なり、固定翼航空機の翼は固定されています。したがって、航空機を地面から離陸させるために必要な揚力を生成するための気流を提供するために、固定翼機の翼は前方に動く必要があります。この前進運動は通常、ジェット エンジンまたはプロペラによって生成される推力ベクトルから生じます。

固定翼機の製造ワークフロー

固定翼機モデルの構築には、次のコンポーネントが必要です。

  • 航空機の構成

  • 航空機にはどのような空気力学的表面がありますか?

  • 航空機にはどのような操舵面がありますか?

  • 航空機にはどのような推力ベクトルがありますか?

  • 航空機の数値モデル

  • 航空機の現在の状態

この例では、このワークフローに従って、MATLAB での数値解析用の固定翼機アプリケーションの構築方法を説明します。

固定翼機の構成

この例では、基本的な 3 つの操舵面を持つ標準構成の航空機を構築します。

この例では、操舵面とボディのみが定義されます。

まず、fixedWingSurface 関数を使用して操舵面を定義します。

surface = fixedWingSurface("mysurface")
surface = 
  Surface with properties:

            Surfaces: [1×0 Aero.FixedWing.Surface]
        Coefficients: [1×1 Aero.FixedWing.Coefficient]
        MaximumValue: Inf
        MinimumValue: -Inf
        Controllable: off
            Symmetry: "Symmetric"
    ControlVariables: [0×0 string]
          Properties: [1×1 Aero.Aircraft.Properties]

サーフェスには、特に制御性、係数、最大値と最小値、対称性、サーフェスが持つ可能性のあるネストされたサーフェスなど、固定翼機のサーフェスを定義するのに役立つ多くのプロパティがあります。

この航空機の場合、エルロンは最大偏向が 20 度、最小偏向が -20 度の非対称操舵面になっています。

このサーフェスを構築するには、名前と値のペアを指定して、各プロパティを必要なレベルに設定します。

aileron = fixedWingSurface("aileron", "on", "Asymmetric", [-20, 20])
aileron = 
  Surface with properties:

            Surfaces: [1×0 Aero.FixedWing.Surface]
        Coefficients: [1×1 Aero.FixedWing.Coefficient]
        MaximumValue: 20
        MinimumValue: -20
        Controllable: on
            Symmetry: "Asymmetric"
    ControlVariables: ["aileron_1"    "aileron_2"]
          Properties: [1×1 Aero.Aircraft.Properties]

エルロンと同じパターンを使用して、エレベーターとラダーを構築します。

これら 2 つの表面はエルロンと同じパターンに従いますが、対称操舵面として定義されます。

elevator = fixedWingSurface("elevator", "on", "Symmetric", [-20, 20])
elevator = 
  Surface with properties:

            Surfaces: [1×0 Aero.FixedWing.Surface]
        Coefficients: [1×1 Aero.FixedWing.Coefficient]
        MaximumValue: 20
        MinimumValue: -20
        Controllable: on
            Symmetry: "Symmetric"
    ControlVariables: "elevator"
          Properties: [1×1 Aero.Aircraft.Properties]

rudder = fixedWingSurface("rudder", "on", "Symmetric", [-20, 20])
rudder = 
  Surface with properties:

            Surfaces: [1×0 Aero.FixedWing.Surface]
        Coefficients: [1×1 Aero.FixedWing.Coefficient]
        MaximumValue: 20
        MinimumValue: -20
        Controllable: on
            Symmetry: "Symmetric"
    ControlVariables: "rudder"
          Properties: [1×1 Aero.Aircraft.Properties]

航空機の操舵面に加えて、推力ベクトルも定義します。

この例では、航空機の機体に沿って単一の推力ベクトルがあると仮定します。

この推力ベクトルは fixedWingThrust 関数を使用して定義します。

propeller = fixedWingThrust("propeller","on","Symmetric",[0, 0.75])
propeller = 
  Thrust with properties:

        Coefficients: [1×1 Aero.FixedWing.Coefficient]
        MaximumValue: 0.7500
        MinimumValue: 0
        Controllable: on
            Symmetry: "Symmetric"
    ControlVariables: "propeller"
          Properties: [1×1 Aero.Aircraft.Properties]

推力は、デフォルトで制御可能であると想定されている点を除けば、表面とほぼ同じです。一方、表面はデフォルトでは制御できません。

これらの操舵面と推力ベクトルを定義して、fixedWingAircraft 関数を使用して航空機を作成します。

この航空機は固定翼機の完全な定義を備えています。この例では、すべての分析方法でこれを使用します。

参照領域、スパン、長さは、解析方法で使用される無次元係数を次元化するのに役立ちます。

簡潔にするために、この航空機では、参照面積、翼幅、長さをそれぞれ 3、2、1 とします。

aircraft = fixedWingAircraft("MyAircraft", 3,2,1)
aircraft = 
  FixedWing with properties:

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

さらに、航空機に操舵面と推力ベクトルを適用することもできます。

aircraft.Surfaces = [aileron, elevator, rudder]
aircraft = 
  FixedWing with properties:

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

aircraft.Thrusts = propeller
aircraft = 
  FixedWing with properties:

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

航空機のボディ構造と操舵面が設定され、航空機の組み立てが完了しました。

ただし、数値モデルのデフォルトが 0 であるため、航空機の現在の構造では数値的な意味はあまりありません。

これを解決するには、数値係数を設定します。

固定翼機の数値モデリング

MATLAB で固定翼機を使用して数値モデリングを実行するには、さまざまな動作状態での航空機の非線形動作を表す既知の係数を定義します。航空機係数は、操縦面または推力ベクトルによる反力を除いた、ボディに掛かる力とモーメントを定義する固定された係数のセットです。

これらの係数は、Digital DATCOM、数値流体力学 (CFD) 解析、第一原理予備解析計算などのさまざまな方法で取得します。

Digital DATCOM を使用して数値係数を計算する場合は、datcomToFixedWing を使用して Digital DATCOM 構造体を固定翼機に直接変換します。

航空機に係数を手動でインポートして割り当てることもできます。

固定翼航空機の係数は、航空機上のいくつかの場所に存在します。上記のように、航空機自体、および航空機上のすべての表面と推力には、一連の係数があります。

操舵面係数は操舵面の偏向による力とモーメントを定義します。

推力係数は、さまざまな推進方法による力とモーメントを定義します。

これらすべての独立した力とモーメントを合計すると、航空機の完全な力とモーメントの定義が提供され、非線形ダイナミクスが得られます。

fixedWingCoefficient 関数を使用して係数を定義します。

coeff = fixedWingCoefficient
coeff = 
  Coefficient with properties:

                     Table: [6×1 table]
                    Values: {6×1 cell}
            StateVariables: "Zero"
               StateOutput: [6×1 string]
            ReferenceFrame: "Wind"
    MultiplyStateVariables: on
            NonDimensional: on
                Properties: [1×1 Aero.Aircraft.Properties]

fixedWingCoefficient 関数は、基準座標系、次元係数または無次元係数の指定、状態変数の乗算動作の指定など、係数固有のプロパティを定義します。

係数値の設定は、setCoefficient 関数を通じて行うことができます。

係数値の取得は、getCoefficient 関数を通じて行うことができます。

コンポーネントの係数をテーブルで表示するには、返された係数の Table プロパティを使用します。

CL_alpha = 0.2;
aircraft = setCoefficient(aircraft, "CL", "Alpha", CL_alpha)
aircraft = 
  FixedWing with properties:

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

getCoefficient(aircraft, "CL", "Alpha")
ans = 
0.2000
aircraft.Coefficients.Table
ans=6×9 table
          Zero    U    Alpha    AlphaDot    Q    Beta    BetaDot    P    R
          ____    _    _____    ________    _    ____    _______    _    _

    CD     0      0       0        0        0     0         0       0    0
    CY     0      0       0        0        0     0         0       0    0
    CL     0      0     0.2        0        0     0         0       0    0
    Cl     0      0       0        0        0     0         0       0    0
    Cm     0      0       0        0        0     0         0       0    0
    Cn     0      0       0        0        0     0         0       0    0

コンポーネント名を使用して、ネストされたサーフェスと推力ベクトルの係数を設定することもできます。

コンポーネント名は、航空機、表面、および推力に設定された名前と同じです。

CL_0_elevator = 0.15;
aircraft = setCoefficient(aircraft, "CL", "Zero", CL_0_elevator, Component="elevator")
aircraft = 
  FixedWing with properties:

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

getCoefficient(aircraft, "CL", "Zero",Component="elevator")
ans = 
0.1500
aircraft.Surfaces(2).Coefficients.Table
ans=6×1 table
          Zero
          ____

    CD       0
    CY       0
    CL    0.15
    Cl       0
    Cm       0
    Cn       0

setCoefficient 関数を使用して特定の係数を設定します。getCoefficient 関数を使用して取得します。これらの係数は以下に依存します。

  • 入力固定翼物体

  • 係数の基準座標系

  • 係数に定義された状態変数

setCoefficient と getCoefficient への 2 番目の入力は状態出力です。有効な状態出力を決定するには、係数の基準座標系を参照してください。

たとえば、基準座標系が「Body」の場合、有効な状態出力は次のようになります。

  • 「CX」 - 物体X力の係数

  • 「CY」 - 物体Y力の係数

  • 「CZ」 - 物体のZ力の係数

  • 「Cl」 - 転がりモーメント係数

  • 「Cm」 - ピッチングモーメント係数

  • 「Cn」 - ヨーイングモーメント係数

coeff.ReferenceFrame = "Body";
coeff.Table
ans=6×1 table
          Zero
          ____

    CX     0  
    CY     0  
    CZ     0  
    Cl     0  
    Cm     0  
    Cn     0  

基準座標系が「Wind」の場合、有効な状態出力は次のようになります。

  • 「CD」 -抗力係数

  • 「CY」 - 物体Y力の係数

  • 「CL」 - 揚力係数

  • 「Cl」 - 転がりモーメント係数

  • 「Cm」 - ピッチングモーメント係数

  • 「Cn」 - ヨーイングモーメント係数

coeff.ReferenceFrame = "Wind";
coeff.Table
ans=6×1 table
          Zero
          ____

    CD     0  
    CY     0  
    CL     0  
    Cl     0  
    Cm     0  
    Cn     0  

setCoefficient と getCoefficient の 3 番目の入力引数は、係数が定義される状態を決定する状態変数です。

デフォルトでは、係数は状態関係がないものと想定します。これらの係数は「ゼロ」状態変数で定義されます。つまり、係数には乗算する状態がありません。

固定翼機の場合、多くの航空機定義に共通する一連の追加のデフォルト状態、つまり U、Alpha、AlphaDot、Beta、BetaDot、P、Q、および R があります。

これらの状態出力と状態変数の任意の組み合わせを setCoefficient および getCoefficient で使用します。

coeff.StateVariables = ["Alpha", "Beta"];
coeff = setCoefficient(coeff, "CL", "Beta", 5);
coeff.Table
ans=6×2 table
          Alpha    Beta
          _____    ____

    CD      0       0  
    CY      0       0  
    CL      0       5  
    Cl      0       0  
    Cm      0       0  
    Cn      0       0  

航空機に設定された係数を使用して、航空機の現在の状態を定義します。

固定翼機の状態

航空機の現在の状態は、固定構成に依存しない特性を定義します。

これらの特性には、質量、慣性、対気速度、高度、偏向角などが含まれます。

現在の状態を構成から分離することにより、個々の状態が時間の経過とともに変化しても、航空機の係数データは固定されたままになります。

fixedWingState 関数を使用して固定翼機の状態を定義します。

state = fixedWingState(aircraft)
state = 
  State with properties:

                    Alpha: 0
                     Beta: 0
                 AlphaDot: 0
                  BetaDot: 0
                     Mass: 0
                  Inertia: [3×3 table]
          CenterOfGravity: [0 0 0]
         CenterOfPressure: [0 0 0]
              AltitudeMSL: 0
             GroundHeight: 0
                       XN: 0
                       XE: 0
                       XD: 0
                        U: 50
                        V: 0
                        W: 0
                      Phi: 0
                    Theta: 0
                      Psi: 0
                        P: 0
                        Q: 0
                        R: 0
                   Weight: 0
              AltitudeAGL: 0
                 Airspeed: 50
              GroundSpeed: 50
               MachNumber: 0.1469
             BodyVelocity: [50 0 0]
           GroundVelocity: [50 0 0]
                       Ur: 50
                       Vr: 0
                       Wr: 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: 1.5312e+03
              Environment: [1×1 Aero.Aircraft.Environment]
            ControlStates: [1×6 Aero.Aircraft.ControlState]
         OutOfRangeAction: "Limit"
         DiagnosticAction: "Warning"
               Properties: [1×1 Aero.Aircraft.Properties]
               UnitSystem: "Metric"
        TemperatureSystem: "Kelvin"
              AngleSystem: "Radians"

この状態のプロパティの名前は、係数内の状態変数文字列名と同じです。

上記の航空機係数テーブルでは、「MultiplyStateVariables」がオンの場合、「Alpha」列の各係数は状態の「Alpha」プロパティで乗算されます。

このアクションは、航空機上のすべての係数のすべての状態変数に適用されます。

一部の状態は従属状態であり、状態自体内の他のプロパティに依存します。

状態が環境内のプロパティに依存する場合は、現在の飛行環境も定義する必要があります。

aircraftEnvironment 関数を使用するか、状態に環境を直接割り当てることで、現在の飛行環境を定義します。

environment = aircraftEnvironment(aircraft, "ISA", 0)
environment = 
  Environment with properties:

    WindVelocity: [0 0 0]
         Density: 1.2250
     Temperature: 288.1500
        Pressure: 101325
    SpeedOfSound: 340.2940
         Gravity: 9.8100
      Properties: [1×1 Aero.Aircraft.Properties]

state.Environment = environment
state = 
  State with properties:

                    Alpha: 0
                     Beta: 0
                 AlphaDot: 0
                  BetaDot: 0
                     Mass: 0
                  Inertia: [3×3 table]
          CenterOfGravity: [0 0 0]
         CenterOfPressure: [0 0 0]
              AltitudeMSL: 0
             GroundHeight: 0
                       XN: 0
                       XE: 0
                       XD: 0
                        U: 50
                        V: 0
                        W: 0
                      Phi: 0
                    Theta: 0
                      Psi: 0
                        P: 0
                        Q: 0
                        R: 0
                   Weight: 0
              AltitudeAGL: 0
                 Airspeed: 50
              GroundSpeed: 50
               MachNumber: 0.1469
             BodyVelocity: [50 0 0]
           GroundVelocity: [50 0 0]
                       Ur: 50
                       Vr: 0
                       Wr: 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: 1.5312e+03
              Environment: [1×1 Aero.Aircraft.Environment]
            ControlStates: [1×6 Aero.Aircraft.ControlState]
         OutOfRangeAction: "Limit"
         DiagnosticAction: "Warning"
               Properties: [1×1 Aero.Aircraft.Properties]
               UnitSystem: "Metric"
        TemperatureSystem: "Kelvin"
              AngleSystem: "Radians"

環境は状態と同じ単位系であると想定されます。これらの単位系を整合させ、各状態と航空機間の単位系を整合させることが重要です。

多数の状態の配列を作成すると、航空機の計算を実行するためのパラメーターのスイープを設計するのに役立ちます。

この例では、質量を変えながら対気速度を一定に保つことで 11 の状態が作成されます。

mass = num2cell(1000:50:1500)
mass=1×11 cell array
    {[1000]}    {[1050]}    {[1100]}    {[1150]}    {[1200]}    {[1250]}    {[1300]}    {[1350]}    {[1400]}    {[1450]}    {[1500]}

state = fixedWingState(aircraft, U=100)
state = 
  State with properties:

                    Alpha: 0
                     Beta: 0
                 AlphaDot: 0
                  BetaDot: 0
                     Mass: 0
                  Inertia: [3×3 table]
          CenterOfGravity: [0 0 0]
         CenterOfPressure: [0 0 0]
              AltitudeMSL: 0
             GroundHeight: 0
                       XN: 0
                       XE: 0
                       XD: 0
                        U: 100
                        V: 0
                        W: 0
                      Phi: 0
                    Theta: 0
                      Psi: 0
                        P: 0
                        Q: 0
                        R: 0
                   Weight: 0
              AltitudeAGL: 0
                 Airspeed: 100
              GroundSpeed: 100
               MachNumber: 0.2939
             BodyVelocity: [100 0 0]
           GroundVelocity: [100 0 0]
                       Ur: 100
                       Vr: 0
                       Wr: 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: 6125
              Environment: [1×1 Aero.Aircraft.Environment]
            ControlStates: [1×6 Aero.Aircraft.ControlState]
         OutOfRangeAction: "Limit"
         DiagnosticAction: "Warning"
               Properties: [1×1 Aero.Aircraft.Properties]
               UnitSystem: "Metric"
        TemperatureSystem: "Kelvin"
              AngleSystem: "Radians"

states = repmat(state, size(mass))
states=1×11 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
    BodyToStabilityMatrix
    StabilityToBodyMatrix
    DynamicPressure
    Environment
    ControlStates
    OutOfRangeAction
    DiagnosticAction
    Properties
    UnitSystem
    TemperatureSystem
    AngleSystem

[states.Mass] = mass{:}
states=1×11 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
    BodyToStabilityMatrix
    StabilityToBodyMatrix
    DynamicPressure
    Environment
    ControlStates
    OutOfRangeAction
    DiagnosticAction
    Properties
    UnitSystem
    TemperatureSystem
    AngleSystem

2 番目の環境入力は、標準大気モデルを使用して多くの高度を反復する状態配列を作成するのにも役立ちます。

statesH = fixedWingState(aircraft, aircraftEnvironment(aircraft, "ISA", [0, 1000, 2000]))
statesH=1×3 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
    BodyToStabilityMatrix
    StabilityToBodyMatrix
    DynamicPressure
    Environment
    ControlStates
    OutOfRangeAction
    DiagnosticAction
    Properties
    UnitSystem
    TemperatureSystem
    AngleSystem

固定翼解析手法

航空機とその状態の構築により、固定翼特有の計算を実行できるようになりました。

これらの計算には以下が含まれます。

  1. 力とモーメント

  2. 非線形力学

  3. 静的安定性

  4. 状態空間モデルへの線形化

F = zeros(numel(states), 3);
M = zeros(numel(states), 3);
dydt = zeros(numel(states), 12);
for i = 1:numel(states)
    [F(i,:), M(i,:)] = forcesAndMoments(aircraft, states(i));
    dydt(i,:) = nonlinearDynamics(aircraft, states(i));
end

航空機は、Simulink ルックアップ テーブルやカスタム MATLAB 分析関数など、プログラムの他の部分に渡される航空機の定義を保持する汎用コンテナーとして使用することもできます。

要約すると、固定翼機機能は、MATLAB 内で固定翼機を作成および操作するための共通の定義を提供します。

参考

| | | | |

トピック