Aircraft Approach and Landing Calculator
Aircraft Approach and Landing Calculator
Final Project for ENES206 - MATLAB for Engineers
Abstract
Abstract
When preparing for landing, pilots perform calculations to determine the optimal approach and landing procedure for their aircraft. These calculations typically factor in aircraft configuration (e.g. weight, wing area), current altitude, speed, distance from runway/airport. The purpose of this program is to generate a detailed procedure for approach and landing based on user-provided inputs. Alongside the procedural output will be a graph plotting altitude versus distance from runway. The program will account for various scenarios, including “too high”, “too far”, “too low”, and “too close” scenarios. For simplicity purposes, we will assume a straight-in approach with no wind and flat terrain. This program will use functions, inputs, outputs, if statements, loops, and plots - all taught in the ENES206 class.
When preparing for landing, pilots perform calculations to determine the optimal approach and landing procedure for their aircraft. These calculations typically factor in aircraft configuration (e.g. weight, wing area), current altitude, speed, distance from runway/airport. The purpose of this program is to generate a detailed procedure for approach and landing based on user-provided inputs. Alongside the procedural output will be a graph plotting altitude versus distance from runway. The program will account for various scenarios, including “too high”, “too far”, “too low”, and “too close” scenarios. For simplicity purposes, we will assume a straight-in approach with no wind and flat terrain. This program will use functions, inputs, outputs, if statements, loops, and plots - all taught in the ENES206 class.
Introduction
Introduction
When preparing for landing, pilots will perform calculations to determine the optimal approach and landing configuration. These calculations take into account multiple factors, including the aircraft’s wing area, landing weight, current altitude, speed, and distance from runway. Based on these inputs, the pilots determine the optimal approach speed, descent profile (or vertical speed), and glide slope to successfully land the airplane.
The goal of this project is to create a simple program that takes in aircraft configuration, current altitude, speed, and distance from the runway, and outputs an optimal approach speed, descent profile, and glide slope. The program will also display a graphical version of the calculated approach route for better understanding.
The program will handle multiple scenarios, including “too high”, “too far”, “too close”, and “too low”. For the scenarios “too high” and “too close”, the program will tell the user to perform a holding pattern and descend to a specific altitude before attempting to land. For “too far” and “too low”, the program will refuse to calculate an approach and landing procedure.
When preparing for landing, pilots will perform calculations to determine the optimal approach and landing configuration. These calculations take into account multiple factors, including the aircraft’s wing area, landing weight, current altitude, speed, and distance from runway. Based on these inputs, the pilots determine the optimal approach speed, descent profile (or vertical speed), and glide slope to successfully land the airplane.
The goal of this project is to create a simple program that takes in aircraft configuration, current altitude, speed, and distance from the runway, and outputs an optimal approach speed, descent profile, and glide slope. The program will also display a graphical version of the calculated approach route for better understanding.
The program will handle multiple scenarios, including “too high”, “too far”, “too close”, and “too low”. For the scenarios “too high” and “too close”, the program will tell the user to perform a holding pattern and descend to a specific altitude before attempting to land. For “too far” and “too low”, the program will refuse to calculate an approach and landing procedure.
Terms and Definitions
Terms and Definitions
Glide slope (or theta):
The angle at which the aircraft is descending
Glide slope (in ft/NM):
Related to Glide slope (or theta)
Represents descent in ft/NM (altitude vs distance from runway)
Glide path
Final descent path to the runway
Descent profile (or vertical speed)
The rate of descent relative to distance to travel
In the form of ft/min
Glide slope (or theta):
The angle at which the aircraft is descending
Glide slope (in ft/NM):
Related to Glide slope (or theta)
Represents descent in ft/NM (altitude vs distance from runway)
Glide path
Final descent path to the runway
Descent profile (or vertical speed)
The rate of descent relative to distance to travel
In the form of ft/min
Program Planning
Assumptions
Assumptions
Since real-world approach and landing calculations involve lots of factors, the following assumptions and limits are made to simplify the scope of this project and focus on demonstrating my use of the concepts learned in ENES206.
Straight-in approach (aircraft is lined up with the runway)
Wind calm, clear weather, normal visibility, and flat terrain
Speed changes happen immediately
Assume flaps are not extended until aircraft intersects with glide slope
Weight of aircraft is fixed (fuel burn is negligible) and preset
Angle of attack is negligible
Wing area is fixed
Air density is constant at 1.225 kg/m^3
Max altitude input is 15,000ft
Max distance from runway is 150NM
Since real-world approach and landing calculations involve lots of factors, the following assumptions and limits are made to simplify the scope of this project and focus on demonstrating my use of the concepts learned in ENES206.
Straight-in approach (aircraft is lined up with the runway)
Wind calm, clear weather, normal visibility, and flat terrain
Speed changes happen immediately
Assume flaps are not extended until aircraft intersects with glide slope
Weight of aircraft is fixed (fuel burn is negligible) and preset
Angle of attack is negligible
Wing area is fixed
Air density is constant at 1.225 kg/m^3
Max altitude input is 15,000ft
Max distance from runway is 150NM
Program Planning
Equations, Variables, Constants, and Conversions
Equations, Variables, Constants, and Conversions
Below are all the variables, equations, and constants that will be used in the program, along with their purpose and units. Note that while the Lift and Lift to Weight equations are not explicitly used in the program, they are components used to determine target speed.
Symbol | Definition | Equation | Units | Purpose |
|---|---|---|---|---|
ρ | Air Density | 1.225 | kg/m³ | |
d | Current Distance from Runway/Airport | [Input] | NM | |
A_current | Current Altitude | [Input] | ft | |
W | Weight | [Input] | kg | |
s | Wing Area | [Loaded] | m² | |
C_L | Coefficient of Lift | [Loaded] | ||
Θ | Glide slope (or theta) | [Loaded] | ° (Degrees) | |
Kts to m/s | 0.514 m/s / 1 knot | |||
NM to m | 1852 m / 1 NM | |||
ft to m | 0.3048 m / 1 ft | |||
m/s to ft/min | 196.8504 ft/min / 1 m/s | |||
V_current | Knots (Kts) | |||
V_target | Target Speed | = sqrt( (2*W*9.81)/(ρ*s*C_L) ) | Knots (Kts) | Based on lift, air density, wing area, and coefficient of lift |
V_vertical | Vertical Speed | = V_current * tan(Θ) | Knots (Kts) | Rate of descent |
A_target | Target Altitude | = d * tan(Θ) | Feet (ft) | Used to plot approach paths given specific distances from runway. Compared against target altitude. |
L | Lift | = (1/2) * ρ * (V_current)^2 * s* C_L | Newtons (N) | This equation is used to derive the V_target equation |
D | Drag | = (1/2) * ρ * (V_current)^2 * s* C_D | Newtons (N) | |
Lift to Weight | L = W * cos(Θ) | (Kilograms) kg | The relationship between lift and weight given glide slope |
Below are all the variables, equations, and constants that will be used in the program, along with their purpose and units. Note that while the Lift and Lift to Weight equations are not explicitly used in the program, they are components used to determine target speed.
Symbol | Definition | Equation | Units | Purpose |
|---|---|---|---|---|
ρ | Air Density | 1.225 | kg/m³ | |
d | Current Distance from Runway/Airport | [Input] | NM | |
A_current | Current Altitude | [Input] | ft | |
W | Weight | [Input] | kg | |
s | Wing Area | [Loaded] | m² | |
C_L | Coefficient of Lift | [Loaded] | ||
Θ | Glide slope (or theta) | [Loaded] | ° (Degrees) | |
Kts to m/s | 0.514 m/s / 1 knot | |||
NM to m | 1852 m / 1 NM | |||
ft to m | 0.3048 m / 1 ft | |||
m/s to ft/min | 196.8504 ft/min / 1 m/s | |||
V_current | Knots (Kts) | |||
V_target | Target Speed | = sqrt( (2*W*9.81)/(ρ*s*C_L) ) | Knots (Kts) | Based on lift, air density, wing area, and coefficient of lift |
V_vertical | Vertical Speed | = V_current * tan(Θ) | Knots (Kts) | Rate of descent |
A_target | Target Altitude | = d * tan(Θ) | Feet (ft) | Used to plot approach paths given specific distances from runway. Compared against target altitude. |
L | Lift | = (1/2) * ρ * (V_current)^2 * s* C_L | Newtons (N) | This equation is used to derive the V_target equation |
D | Drag | = (1/2) * ρ * (V_current)^2 * s* C_D | Newtons (N) | |
Lift to Weight | L = W * cos(Θ) | (Kilograms) kg | The relationship between lift and weight given glide slope |
Program Planning
Table of Aircraft and Associated Constants
Table of Aircraft and Associated Constants
Aircraft | Coefficient of Lift (C_L) (Flaps Up) | Coefficient of Lift (C_L) (Approach/Landing) | Wing Area (s) (m²) | Average Landing Weight (W) (kg) |
|---|---|---|---|---|
Boeing 737-800 | 0.50 | 1.75 | 124.60 | 62,000 |
Boeing 787-8 | 0.50 | 1.80 | 325.0 | 160,000 |
Airbus A320 | 0.50 | 1.75 | 122.6 | 61,000 |
Airbus A220-300 | 0.50 | 1.90 | 112.0 | 56,000 |
Note: These values were determined by using ChatGPT (taking the midpoint of the ranges)
Aircraft | Coefficient of Lift (C_L) (Flaps Up) | Coefficient of Lift (C_L) (Approach/Landing) | Wing Area (s) (m²) | Average Landing Weight (W) (kg) |
|---|---|---|---|---|
Boeing 737-800 | 0.50 | 1.75 | 124.60 | 62,000 |
Boeing 787-8 | 0.50 | 1.80 | 325.0 | 160,000 |
Airbus A320 | 0.50 | 1.75 | 122.6 | 61,000 |
Airbus A220-300 | 0.50 | 1.90 | 112.0 | 56,000 |
Note: These values were determined by using ChatGPT (taking the midpoint of the ranges)
Program Planning
Psuedocode
Psuedocode
Below are the steps to calculate the optimal approach path:
User selects type of aircraft
Program retrieves aircraft's landing weight, wing area, and coefficients of lift from the predefined table
User inputs current altitude, distance from runway, and speed
The program validates these inputs to ensure they are within reasonable and defined limits
Based on altitude and distance from runway, the program determines the optimal glide slope between 2.0° and 5.0° (in 0.5 degree increments).
If there is no glide slope that best accommodates the aircraft’s current position, then the program begins generating a holding pattern
If an optimal glide slope is found, the program initiates final approach begins generating a descent profile following the glide slope
For the holding pattern, the program will choose a default glide slope, direct the aircraft to turn around, and begin descending until it intersects with the generated final approach glide path, then the program will direct the plane to turn back around to begin final approach
On final approach, the program generates a descent profile by calculating target airspeed and target vertical speed based on distance from runway, altitude, glide slope, landing weight, and coefficient of lift (with flaps)
Below are the steps to calculate the optimal approach path:
User selects type of aircraft
Program retrieves aircraft's landing weight, wing area, and coefficients of lift from the predefined table
User inputs current altitude, distance from runway, and speed
The program validates these inputs to ensure they are within reasonable and defined limits
Based on altitude and distance from runway, the program determines the optimal glide slope between 2.0° and 5.0° (in 0.5 degree increments).
If there is no glide slope that best accommodates the aircraft’s current position, then the program begins generating a holding pattern
If an optimal glide slope is found, the program initiates final approach begins generating a descent profile following the glide slope
For the holding pattern, the program will choose a default glide slope, direct the aircraft to turn around, and begin descending until it intersects with the generated final approach glide path, then the program will direct the plane to turn back around to begin final approach
On final approach, the program generates a descent profile by calculating target airspeed and target vertical speed based on distance from runway, altitude, glide slope, landing weight, and coefficient of lift (with flaps)
Testing
Under Glide Path, Boeing 737-800, 30NM, 12,000ft, 240kts
Under Glide Path, Boeing 737-800, 30NM, 12,000ft, 240kts


Click to Expand
Testing
Under Glide Path, Boeing 787-8, 40NM, 10000ft, 250kts
Under Glide Path, Boeing 787-8, 40NM, 10000ft, 250kts


Click to Expand
Testing
Over Glide Path (Holding Pattern), Airbus A320, 20NM, 10,000ft, 250kts
Over Glide Path (Holding Pattern), Airbus A320, 20NM, 10,000ft, 250kts


Click to Expand
Testing
Operational Limits
Operational Limits
Discussion and Conclusion
Discussion and Conclusion
Based on the test results, the MATLAB program successfully determines the optimal approach procedure across a variety of scenarios. The calculated target speeds, vertical speeds, and descent profiles are both accurate and realistic within the context of the simulation. While this project is intentionally simplified with assumptions and limitations, the program effectively mirrors core principles of real-world landing and approach procedures.
Overall, I enjoyed developing this final project a lot. It has allowed me to demonstrate my mastery of the concepts learned in ENES 206 and highlight my potential to learn more in the world of programming and engineering. Throughout the Spring 2025 semester, I have taken advantage of countless opportunities to apply my MATLAB skills into my differential equations and mechanics of materials classes. I hope to continue learning about MATLAB and its countless features as I advance to 4-year university.
Based on the test results, the MATLAB program successfully determines the optimal approach procedure across a variety of scenarios. The calculated target speeds, vertical speeds, and descent profiles are both accurate and realistic within the context of the simulation. While this project is intentionally simplified with assumptions and limitations, the program effectively mirrors core principles of real-world landing and approach procedures.
Overall, I enjoyed developing this final project a lot. It has allowed me to demonstrate my mastery of the concepts learned in ENES 206 and highlight my potential to learn more in the world of programming and engineering. Throughout the Spring 2025 semester, I have taken advantage of countless opportunities to apply my MATLAB skills into my differential equations and mechanics of materials classes. I hope to continue learning about MATLAB and its countless features as I advance to 4-year university.