Aero.FixedWing.Surface Class
Namespace: Aero
Description
Aero.FixedWing.Coefficient
defines the dynamic and control surfaces on an
Aero.FixedWing
aircraft.
Creation
Description
fixedWingSurface = Aero.FixedWing.Surface
creates a single
Aero.FixedWing.Surface
object with default property values.
fixedWingSurface = Aero.FixedWing.Surface(
creates an N-by-N matrix of
N
)Aero.FixedWing.Surface
objects with default property values.
fixedWingSurface = Aero.FixedWing.Surface(
or
M
,N
,P
,...)Aero.FixedWing.Surface([
creates an M-by-N-by-P-by-...
array of M
N
P
...])Aero.FixedWing.Surface
objects with default property
values.
fixedWingSurface = Aero.FixedWing.Surface(size(
creates an A
))Aero.FixedWing.Surface
object of the same size as
A
and all Aero.FixedWing.Surface
objects.
fixedWingSurface = Aero.FixedWing.Surface(__,property,propertyValue)
creates an array of Aero.FixedWing.Surface
objects with
property
, propertyValue
pairs
applied to each of the Aero.FixedWing.Surface
array objects. For a list of
properties, see Properties.
Properties
Public Properties
Aero.FixedWing.Surface
objects providing nested control surfaces,
specified as a vector.
Attributes:
GetAccess | public |
SetAccess | public |
Aero.FixedWing.Coefficients
objects that define the control
surface, specified as a scalar.
Attributes:
GetAccess | public |
SetAccess | public |
Maximum value of control surfaces, specified as a scalar numeric.
Dependencies
If Symmetry
is set to Asymmetric
, then
this value applies to both control variables.
Attributes:
GetAccess | public |
SetAccess | public |
Data Types: double
Minimum value of control surface, specified as a scalar numeric.
Dependencies
If Symmetry
is set to Asymmetric
, then
this value applies to both control variables.
Attributes:
GetAccess | public |
SetAccess | public |
Data Types: double
Controllable control surface specified as on
or
off
. To control the control surface, set this property to
on
. Otherwise, set this property to
off
.
Attributes:
GetAccess | public |
SetAccess | public |
Data Types: logical
Symmetry of the control surface, specified as Symmetric
or
Asymmetric
.
The Asymmetric
option creates two control variables, denoted by
the name on the properties and appended by _1
and
_2
. These control variables can be independently controlled but
also produce an effective control variable specified by the name on the properties.
You cannot set this effective control variable. This equation defines the control
variable:
.name
=
(name
_1-name
_2)/2
You cannot set this effective control variable.
Attributes:
GetAccess | public |
SetAccess | public |
Data Types: char
| string
Aero.Aircraft.Properties
object, specified as a scalar.
Attributes:
GetAccess | public |
SetAccess | public |
Data Types: double
Protected Properties
Control variable names, specified as a vector. This property depends on
Properties.Name
, Controllable
, and
Symmetry
.
Attributes:
GetAccess | Restricts access |
SetAccess | protected |
Data Types: char
| string
Methods
getCoefficient | Get coefficient for fixed-wing surface object |
getControlStates | Get control states for Aero.FixedWing.Surface
object |
setCoefficient | Set coefficient values for Aero.FixedWing.Surface
object |
update | Update Aero.FixedWing.Surface object |
Examples
This example shows how to define aircraft aerodynamic surfaces using the FixedWing.Surface
object. It then shows how to compute the static stability of the aircraft.
Create two FixedWing
surfaces, elevator
and horizontalStabilizer
. elevator
is defined as an inner nested surface of horizontalStabilizer
.
elevator = Aero.FixedWing.Surface(... Controllable="on",... MinimumValue=deg2rad(-20),... MaximumValue=deg2rad(20), ... Properties=Aero.Aircraft.Properties("Name","Elevator"), ... Coefficients=Aero.FixedWing.Coefficient("StateVariables",... "Elevator","ReferenceFrame","Stability")); horizontalStabilizer = Aero.FixedWing.Surface(... Surfaces=elevator, ... Properties=Aero.Aircraft.Properties("Name","HorizontalStabilizer"))
horizontalStabilizer = Surface with properties: Surfaces: [1×1 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]
Assign the horizontalStabilizer
surface to the FixedWing
aircraft object, aircraft
.
aircraft = Aero.FixedWing(... ReferenceArea=30, ... ReferenceSpan=12, ... Surfaces=horizontalStabilizer)
aircraft = FixedWing with properties: ReferenceArea: 30 ReferenceSpan: 12 ReferenceLength: 0 Coefficients: [1×1 Aero.FixedWing.Coefficient] DegreesOfFreedom: "6DOF" Surfaces: [1×1 Aero.FixedWing.Surface] Thrusts: [1×0 Aero.FixedWing.Thrust] AspectRatio: 4.8000 Properties: [1×1 Aero.Aircraft.Properties] UnitSystem: "Metric" TemperatureSystem: "Kelvin" AngleSystem: "Radians"
aircraft.Coefficients.ReferenceFrame = "Stability";
Set the coefficients for aircraft
.
BodyCoefficients = { 'CD', 'Zero', 0.02; 'CD', 'Alpha', 0.1; 'CL', 'Alpha', 4.5; }; ElevatorCoefficients = { 'CL', 'Elevator', 0.4; 'Cm', 'Elevator', -1.3; }; aircraft = setCoefficient(... aircraft, ... BodyCoefficients(:, 1), ... BodyCoefficients(:, 2), ... BodyCoefficients(:, 3)); aircraft = setCoefficient(... aircraft, ... ElevatorCoefficients(:, 1), ... ElevatorCoefficients(:, 2), ... ElevatorCoefficients(:, 3), ... "Component", "Elevator");
Get the cruise state for aircraft
.
state = Aero.FixedWing.State(... Mass=200, ... U=50, ... Alpha=0.006, ... CenterOfGravity=[1, 0, 0]); state = setupControlStates(state, aircraft); state = setState(state, "Elevator", deg2rad(-2))
state = State with properties: Alpha: 0.0060 Beta: 0 AlphaDot: 0 BetaDot: 0 Mass: 200 Inertia: [3×3 table] CenterOfGravity: [1 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: 1962 AltitudeAGL: 0 Airspeed: 50.0009 GroundSpeed: 50 MachNumber: 0.1469 BodyVelocity: [50 0 0.3000] GroundVelocity: [50 0 0] Ur: 50 Vr: 0 Wr: 0.3000 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.5313e+03 Environment: [1×1 Aero.Aircraft.Environment] ControlStates: [1×1 Aero.Aircraft.ControlState] OutOfRangeAction: "Limit" DiagnosticAction: "Warning" Properties: [1×1 Aero.Aircraft.Properties] UnitSystem: "Metric" TemperatureSystem: "Kelvin" AngleSystem: "Radians"
Compute the static stability for the FixedWing
object aircraft
and surfaces, horizontalStabilizer
and elevator
.
[stability, deriv] = staticStability(aircraft, state)
stability=6×8 table
U V W Alpha Beta P Q R
________ _________ ________ ________ _________ _________ _________ _________
FX "Stable" "" "" "" "" "" "" ""
FY "" "Neutral" "" "" "" "" "" ""
FZ "" "" "Stable" "" "" "" "" ""
L "" "" "" "" "Neutral" "Neutral" "" ""
M "Stable" "" "" "Stable" "" "" "Neutral" ""
N "" "" "" "" "Neutral" "" "" "Neutral"
deriv=6×8 table
U V W Alpha Beta P Q R
_______ ___________ _______ __________ __________ _ _ _
FX -37.378 -3.7517e-06 -55.201 -2758.1 -0.0094274 0 0 0
FY 0 0 0 0 0 0 0 0
FZ 0.73969 -2.3874e-06 -4153.9 -2.077e+05 -0.0060459 0 0 0
L 0 0 0 0 0 0 0 0
M 0.73969 -2.3988e-06 -4153.9 -2.077e+05 -0.0060459 0 0 0
N 0 0 0 0 0 0 0 0
Limitations
You cannot subclass Aero.FixedWing.Surface
.
Version History
Introduced in R2021a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)