Aero.trajectory.polylineTrajectory
R2026bDescription
generates trajectory reference signals for a polyline flight trajectory. Use name-value
arguments to define the search pattern. For more information, see Algorithms.refSignals = Aero.trajectory.polylineTrajectory(Name=Value)
Examples
This example shows how to generate reference signals for a polyline trajectory.
refSignals = Aero.trajectory.polylineTrajectory(InitialPosition = [0, 0], ... Speed = 100,SegmentDistance = 5000,AbsoluteBearing = pi/2, ... Altitude = 10000,OutputFormat = 'timetable')
refSignals = 3×7 timetable
timestamps WaypointIndex xNorth(m) yEast(m) Speed(m/s) Altitude(m) Heading(rad) FlightPathAngle(rad)
____________________ _____________ __________ ________ __________ ___________ ____________ ____________________
06-Aug-2026 23:26:45 1 0 0 100 0 0 1.5708
06-Aug-2026 23:28:25 1.6667 0 0 100 10000 1.5708 0
06-Aug-2026 23:29:15 2 3.0616e-13 5000 100 10000 1.5708 0
This example shows how to add reference signals for a polyline flight trajectory, polylineSignals, to existing reference signals for another trajectory, sectorSignals.
Create reference signals for a sector trajectory.
sectorSignals = Aero.trajectory.sectorTrajectory('Altitude', 20, ... 'Bearing', pi/2, 'DatumPoint', [-8, 0], ... 'InitialAltitude', 0, 'Radius', 5, ... 'OutputFormat', 'timetable', 'InitialHeading', 0)
sectorSignals = 10×7 timetable
timestamps WaypointIndex xNorth(m) yEast(m) Speed(m/s) Altitude(m) Heading(rad) FlightPathAngle(rad)
____________________ _____________ _________ ________ __________ ___________ ____________ ____________________
06-Aug-2026 23:26:29 1 0 0 90 0 0 1.5708
06-Aug-2026 23:26:29 1.7143 0 0 90 20 3.1416 0
06-Aug-2026 23:26:29 2 -8 0 90 20 1.5708 0
06-Aug-2026 23:26:29 3 -8 5 90 20 5.7596 0
06-Aug-2026 23:26:30 4 -3.6699 2.5 90 20 3.6652 0
06-Aug-2026 23:26:30 5 -12.33 -2.5 90 20 1.5708 0
06-Aug-2026 23:26:30 6 -12.33 2.5 90 20 5.7596 0
06-Aug-2026 23:26:30 7 -3.6699 -2.5 90 20 3.6652 0
06-Aug-2026 23:26:30 8 -8 -5 90 20 1.5708 0
06-Aug-2026 23:26:30 9 -8 0 90 20 1.5708 0
Add reference signals for a polyline flight trajectory, polylineTrajectory, to sectorSignals.
polylineTrajectory = Aero.trajectory.polylineTrajectory('priorTrajectory',sectorSignals, ... 'SegmentDistance', 5000, 'AbsoluteBearing', pi/2, ... 'Altitude', 10000)
polylineTrajectory = 12×7 timetable
timestamps WaypointIndex xNorth(m) yEast(m) Speed(m/s) Altitude(m) Heading(rad) FlightPathAngle(rad)
____________________ _____________ _________ ________ __________ ___________ ____________ ____________________
06-Aug-2026 23:26:29 1 0 0 90 0 0 1.5708
06-Aug-2026 23:26:29 1.7143 0 0 90 20 3.1416 0
06-Aug-2026 23:26:29 2 -8 0 90 20 1.5708 0
06-Aug-2026 23:26:29 3 -8 5 90 20 5.7596 0
06-Aug-2026 23:26:30 4 -3.6699 2.5 90 20 3.6652 0
06-Aug-2026 23:26:30 5 -12.33 -2.5 90 20 1.5708 0
06-Aug-2026 23:26:30 6 -12.33 2.5 90 20 5.7596 0
06-Aug-2026 23:26:30 7 -3.6699 -2.5 90 20 3.6652 0
06-Aug-2026 23:26:30 8 -8 -5 90 20 1.5708 0
06-Aug-2026 23:26:30 9 -8 0 90 20 0 1.5708
06-Aug-2026 23:28:21 9.6662 -8 0 90 10000 1.5708 0
06-Aug-2026 23:29:16 10 -8 5000 90 10000 1.5708 0
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.
Example: InitialPosition = [0,0]
Initial position of trajectory, specified as a 1-by-2 or 2-by-1 vector in the units specified in Units.
Example: InitialPosition = [0,0]
Data Types: double
Speed of trajectory, specified as a finite real double scalar in the units specified in Units.
Example: Speed = 10
Data Types: double
Altitude of the vehicle trajectory, specified as a finite real scalar double in the units specified in Units. This value is constant throughout the vehicle path.
Example: Altitude = 10
Data Types: double
Initial heading of trajectory, specified as a finite real double scalar between 0 and 2*pi, in
radians. Specify one each of InitialHeading and
FinalHeading.
Example: InitialHeading = pi
Data Types: double
Output format of reference signals data, specified as a timeseries
or timetable object.
Example: OutputFormat = timeseries
Input and output units, specified as one of these values.
Units | Position | Altitude | Speed |
|---|---|---|---|
| Meters | Meters | Meters per second |
| Feet | Feet | Feet per second |
| Nautical miles | Feet | Knots |
Example: Units = 'Metric (MKS)'
Initial time of trajectory operation, specified as a datetime object.
Example: StartTime = datetime('now')
Absolute bearing, specified as a scalar between 0 and
2*pi, in the units specified in Units. This value is
the angle measured clockwise from true north to the direction of travel along the
trajectory.
Example: AbsoluteBearing = pi/4
Dependencies
Specify only AbsoluteBearing or
RelativeBearing. Do not specify both properties.
Data Types: double
Coordinate plane of trajectory, specified as Flat,
Spherical, or Ellipsoidal.
Example: CoordinatePlane = "Flat"
Data Types: double
Eccentricity of the trajectory, specified as a scalar less than
1.
Example: Eccentricity=.2
Dependencies
To set Eccentricity, set
CoordinatePlane to "Ellipsoidal".
Data Types: double
Initial altitude of trajectory, specified as a scalar in the units specified in Units.
Example: InitialAltitude = 10
Data Types: double
Path segment, specified as Constant heading or
Shortest distance.
Example: PathSegment = "Shortest distance"
Dependencies
To set this property, set CoordinatePlane to
Spherical or Ellipsoidal.
Prior trajectory tracking data, specified as a timeseries or
timetable object. These objects must contain these fields:
AltitudeHeadingSpeedWaypointIndexxNorthyEastLateralAcceleraion/Turnrate
Relative bearing, specified as a scalar between 0 and
2*pi, in the units specified in Units. This value is
the angle between the current heading (direction of travel) of a vehicle and the
direction to the next segment or waypoint along the polyline trajectory, measured with
respect to the vehicle current forward direction.
Example: RelativeBearing = pi/4
Dependencies
Specify only AbsoluteBearing or
RelativeBearing. Do not specify both properties.
Data Types: double
Straight line distance between two consecutive waypoints in a trajectory, specified as a positive scalar in the units specified in Units..
Example: SegmentDistance = 5000
Data Types: double
Equatorial radius, specified as a scalar.
Example: SemiMajorAxis = 6378137
Dependencies
To set this property, set CoordinatePlane to
Ellipsoidal.
Data Types: double
Radius of spherical surface, specified as a scalar between 0
and 2*pi.
Example: SphereRadius = pi/4
Dependencies
To set this property, set CoordinatePlane to
Spherical.
Data Types: double
Vertical velocity component of vehicle during ascent, specified as a finite real double scalar less than the vehicle speed in the units specified in Units.
Example:
ClimbRate = 10
Data Types: double
Vertical velocity component of vehicle during ascent, specified as a finite real double scalar less than the vehicle speed in the units specified in Units.
Example:
DescentRate = 10
Data Types: double
Coordinates that define vertices of polygonal no-fly zone, specified as a N-by-2 numeric array, where N is equal to or greater than 3. Each row of the array contains an [x, y] boundary point. The function computes a closed polygon from the supplied points and uses it to detect and avoid restricted airspace.
Example:
DescentRate = 10
Data Types: double
Maximum altitude of the no-fly zone, specified as a scalar numeric. You use this value with the NFZ boundary to determine whether obstacle avoidance is required. If the aircraft altitude is above the specified no-fly-zone altitude bound, the aircraft is permitted to pass through the NFZ without rerouting.
Example:
DescentRate = 10
Data Types: double
Number of samples in the output signals, specified as a scalar greater than or equal to 2.
Example: NumberOfSamples = 10
Data Types: double
Output Arguments
Trajectory reference signals, returned as a timeseries
struct or timetable object.
Algorithms
Use Aero.trajectory.polylineTrajectory to define the parameters of a
polyline trajectory.
Version History
Introduced in R2026aTo specify no-fly zones for trajectories, the Aero.trajectory.polylineTrajectory function accepts NFZBoundaryPoints and NFZAltitudeBound arguments. These arguments let you specify areas that vehicles must circumnavigate during trajectory planning.
To compute flight-path angles, the Aero.trajectory.polylineTrajectory function accepts ClimbRate and DescentRate. Outputs now also report flight paths.
See Also
Live Editor Tasks
Functions
Aero.trajectory.addEvent|Aero.trajectory.bezierTrajectory|Aero.trajectory.circularTrajectory|Aero.trajectory.creepingTrajectory|Aero.trajectory.expandingSquareTrajectory|Aero.trajectory.lissajousTrajectory|Aero.trajectory.merge|Aero.trajectory.parallelSweepTrajectory|Aero.trajectory.polynomialTrajectory|Aero.trajectory.sectorTrajectory|Aero.trajectory.spaceFillingTrajectory|Aero.trajectory.tracklineTrajectory
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.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)