Начало работы с самолетом с неподвижным крылом

В этом примере показано, как создать и использовать самолет с неподвижным крылом в MATLAB®.

Для примера установки реалистических коэффициентов на самолете и вычислении статической устойчивости, см., "Определяют Нелинейную Динамику и Статическую Устойчивость Самолета с неподвижным крылом”.

Для примера импорта коэффициентов от Цифрового анализа DATCOM и линеаризации к модели в пространстве состояний, см., “Выполняют Средства управления и Статический Анализ Устойчивости с Линеаризовавшим Самолетом с неподвижным крылом”.

Для примера создания пользовательских состояний см., “Настраивают Самолет с неподвижным крылом с Дополнительными состояниями Самолета”.

Что такое Самолет с неподвижным крылом?

Самолеты с неподвижным крылом охватывают все самолеты, которые генерируют лифт от фиксированного расширения поверхностей крыла от основной части. Стандартная настройка для самолета с неподвижным крылом является большим основным крылом около центра тяжести и горизонтальных и вертикальных стабилизаторов в конце тела.

Большое основное крыло самолета с неподвижным крылом генерирует лифт с горизонтальными и вертикальными стабилизаторами, предоставляющими силам реакции и моменты для устойчивости и управления. Однако различающийся винтокрыл, крылья самолета с неподвижным крылом фиксируются на месте. Поэтому, чтобы обеспечить поток воздуха, чтобы сгенерировать необходимый лифт, чтобы управлять самолетом от земли, крылья самолета с неподвижным крылом требуют движения вперед. Это движение вперед обычно создается из вектора тяги, сгенерированного реактивным двигателем или пропеллером.

Рабочий процесс конструкции самолета с неподвижным крылом

Конструкция модели самолета с неподвижным крылом требует этих компонентов:

  • Настройка самолета

  • Какие аэродинамические поверхности существуют на самолете?

  • Какие поверхности управления существуют на самолете?

  • Какие векторы тяги существуют на самолете?

  • Численная модель самолета

  • Текущее состояние самолета

Этот пример следует за этим рабочим процессом, чтобы проиллюстрировать, как создать приложение самолета с неподвижным крылом для числового анализа в MATLAB.

Настройка самолета с неподвижным крылом

Этот пример создает основную поверхность с 3 управлением, самолет стандартной настройки.

В данном примере только поверхности управления и тело будут заданы.

Чтобы запуститься, задайте поверхности управления с помощью функции fixedWingSurface.

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

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

Поверхность имеет много свойств, что справка задает поверхность самолета с неподвижным крылом, в частности управляемость, коэффициенты, максимальные и минимальные значения. симметрия и любые вложенные поверхности поверхностная сила имеют.

Для этого самолета элерон является асимметричной поверхностью управления и минимальное отклонение имеющее 20 и-20 градусов, соответственно.

Чтобы создать эту поверхность, пары "имя-значение" могут быть заданы, чтобы установить каждое свойство на их желаемый уровень.

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

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

Используя тот же шаблон как построение элерона лифты и руководящие принципы.

Эти две поверхности следуют за тем же шаблоном как элерон, но заданы, как симметричное управление появляется.

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

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

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

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

В дополнение к поверхностям управления самолета также задайте векторы тяги.

В данном примере это принято, что существует один вектор тяги вдоль корпуса самолета.

Задайте этот вектор тяги с помощью функции fixedWingThrust.

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

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

Тяга почти идентична поверхности за исключением того, что это принято, чтобы быть управляемым по умолчанию, тогда как поверхность не управляема по умолчанию.

С этими поверхностями управления и заданными векторами тяги, создайте самолет с помощью функции fixedWingAircraft.

Этот самолет несет полное определение на борту самолета с неподвижным крылом. Этот пример использует его во всех методах анализа.

Область ссылки, промежуток и длина помогают определить размерность безразмерные коэффициенты, используемые в методах анализа.

Для простоты этот самолет использует область ссылки, промежуток и длину 3, 2, и 1, соответственно.

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

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

Кроме того, поверхности управления и векторы тяги могут быть применены к самолету

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

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

aircraft.Thrusts = propeller
aircraft = 
  FixedWing with properties:

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

С построением корпуса самолета и набором поверхностей управления, теперь полностью создается самолет.

Однако текущая конструкция самолета не имеет большого числового значения, когда численная модель имеет значения по умолчанию 0.

Чтобы исправить это, установите числовые коэффициенты.

Численное моделирование самолета с неподвижным крылом

Чтобы выполнить численное моделирование с помощью самолета с неподвижным крылом в MATLAB, задайте известные коэффициенты, которые представляют нелинейное поведение самолета в его различных операционных состояниях. Коэффициенты самолета являются фиксированным набором коэффициентов, которые задают массовые силы и моменты, исключая силы реакции, должные управлять поверхностями или векторами тяги.

Получите эти коэффициенты через множество методов, такие как Цифровой DATCOM, анализ Вычислительной гидрогазодинамики (CFD) или первые принципы использования предварительные аналитические вычисления.

При использовании Цифрового DATCOM, чтобы вычислить числовые коэффициенты, непосредственно преобразуйте Цифровой struct DATCOM в самолет с неподвижным крылом с помощью datcomToFixedWing.

Можно также вручную импортировать, присваивают коэффициенты самолету.

Коэффициенты самолета с неподвижным крылом находятся на самолете в нескольких местах. Как видно вышеупомянутого, сам самолет, и каждая поверхность и тяга на самолете, имеет набор коэффициентов.

Поверхностные коэффициенты управления задают силы и моменты, должные управлять поверхностными отклонениями.

Коэффициенты тяги задают силы и моменты из-за различных методов движения.

Все эти независимые силы и моменты, суммированные вместе, предоставляют полное определение сил и моментов самолета, и в свою очередь нелинейную динамику.

Задайте коэффициенты с помощью функции fixedWingCoefficient.

coeff = fixedWingCoefficient
coeff = 
  Coefficient with properties:

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

Функция fixedWingCoefficient задает специфичные для коэффициента свойства, включая систему координат, задавая размерные или безразмерные коэффициенты, и указывая, что переменная состояния умножает поведение.

Устанавливание содействующих значений может быть сделано через функцию setCoefficient.

Получение содействующих значений может быть сделано через функцию getCoefficient.

Чтобы просмотреть коэффициенты компонента в таблице, используйте Свойство таблицы на возвращенном коэффициенте.

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

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

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: [1x1 Aero.FixedWing.Coefficient]
     DegreesOfFreedom: "6DOF"
             Surfaces: [1x3 Aero.FixedWing.Surface]
              Thrusts: [1x1 Aero.FixedWing.Thrust]
          AspectRatio: 1.3333
           Properties: [1x1 Aero.Aircraft.Properties]
           UnitSystem: "Metric"
          AngleSystem: "Radians"
    TemperatureSystem: "Kelvin"

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 является выход состояния. Чтобы определить допустимые выходные параметры состояния, относитесь, чтобы видеть систему координат на коэффициенте.

Например, если системой координат является "Тело", допустимые выходные параметры состояния:

  • "CX" - Коэффициент тела X сил

  • "CY" - Коэффициент тела Y сила

  • "CZ" - Коэффициент тела Z сила

  • "Статья" - Прокручивающийся коэффициент момента

  • "Cm" - Подача коэффициента момента

  • CN - Отклоняющийся от курса коэффициент момента

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

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

Если системой координат является "Ветер", допустимые выходные параметры состояния:

  • "CD" - Коэффициент силы сопротивления

  • "CY" - Коэффициент тела Y сила

  • "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 является переменными состояния, которые определяют состояния, с которыми заданы коэффициенты.

По умолчанию коэффициент не принимает отношения состояния. Эти коэффициенты заданы с "Нулевой" переменной состояния, что означает, что коэффициент не имеет никаких состояний, чтобы умножиться против.

В случае самолета с неподвижным крылом существует набор дополнительных состояний по умолчанию, которые характерны для многих определений самолета, а именно, U, Альфы, AlphaDot, Беты, 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: [3x3 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: [3x3 double]
    BodyToInertialMatrix: [3x3 double]
        BodyToWindMatrix: [3x3 double]
        WindToBodyMatrix: [3x3 double]
         DynamicPressure: 1.5312e+03
             Environment: [1x1 Aero.Aircraft.Environment]
           ControlStates: [1x6 Aero.Aircraft.ControlState]
        OutOfRangeAction: "Limit"
        DiagnosticAction: "Warning"
              Properties: [1x1 Aero.Aircraft.Properties]
              UnitSystem: "Metric"
             AngleSystem: "Radians"
       TemperatureSystem: "Kelvin"

Имена свойств на этом состоянии совпадают с названиями строк переменной состояния в коэффициентах.

В содействующей приведенной выше таблице самолета каждый коэффициент в "Альфа-" столбце умножается на свойство "Alpha" в состоянии, если "MultiplyStateVariables" включен.

Это действие запрашивает каждую переменную состояния в каждом коэффициенте на самолете.

Некоторые состояния являются зависимыми состояниями и зависят от других свойств в самом состоянии.

Если состояние зависит от свойств в среде, необходимо задать текущую летающую среду также.

Задайте текущую летающую среду с помощью функции aircraftEnvironment или путем присвоения среде непосредственно на состоянии.

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

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

state.Environment = environment
state = 
  State with properties:

                   Alpha: 0
                    Beta: 0
                AlphaDot: 0
                 BetaDot: 0
                    Mass: 0
                 Inertia: [3x3 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: [3x3 double]
    BodyToInertialMatrix: [3x3 double]
        BodyToWindMatrix: [3x3 double]
        WindToBodyMatrix: [3x3 double]
         DynamicPressure: 1.5312e+03
             Environment: [1x1 Aero.Aircraft.Environment]
           ControlStates: [1x6 Aero.Aircraft.ControlState]
        OutOfRangeAction: "Limit"
        DiagnosticAction: "Warning"
              Properties: [1x1 Aero.Aircraft.Properties]
              UnitSystem: "Metric"
             AngleSystem: "Radians"
       TemperatureSystem: "Kelvin"

Среда принята, чтобы быть той же модульной системой как состояние. Важно сохранить эти модульные системы выровненными и выровнять модульные системы между каждым состоянием и самолетом.

Создание массива многих состояний может быть полезным для разработки развертки параметров, по которым можно выполнить вычисления на самолете.

В этом примере 11 состояний создаются различной массой, но содержащий постоянную скорость полета.

mass = num2cell(1000:50:1500)
mass=1×11 cell array
  Columns 1 through 6

    {[1000]}    {[1050]}    {[1100]}    {[1150]}    {[1200]}    {[1250]}

  Columns 7 through 11

    {[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: [3x3 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: [3x3 double]
    BodyToInertialMatrix: [3x3 double]
        BodyToWindMatrix: [3x3 double]
        WindToBodyMatrix: [3x3 double]
         DynamicPressure: 6125
             Environment: [1x1 Aero.Aircraft.Environment]
           ControlStates: [1x6 Aero.Aircraft.ControlState]
        OutOfRangeAction: "Limit"
        DiagnosticAction: "Warning"
              Properties: [1x1 Aero.Aircraft.Properties]
              UnitSystem: "Metric"
             AngleSystem: "Radians"
       TemperatureSystem: "Kelvin"

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

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

Второй вход среды может также помочь создавать массив состояния, который выполняет итерации по многим высотам с помощью стандартной модели атмосферы.

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

Методы анализа фиксированного крыла

С конструкцией самолета и его состояний, можно теперь выполнить фиксированное крыло определенные вычисления.

Эти вычисления могут включать:

  1. Силы и моменты

  2. Нелинейная динамика

  3. Статическая устойчивость

  4. Линеаризация к модели в пространстве состояний

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

Самолет может также использоваться в качестве типового контейнера, чтобы содержать определение самолета, когда это роздано к другим частям программы, такой как в интерполяционной таблице Simulink или пользовательских аналитических функциях MATLAB.

Таким образом, функции самолета с неподвижным крылом предоставляют общее определение созданию и управлению самолетом с неподвижным крылом в MATLAB.

Похожие темы