ModelRisk example · General techniques
Missile Flight: Differential Equations
A missile with air friction: where does it land, how sure are we, and what friction do the observations imply?
From the model’s saved run
The flight
VoseODE in every simulation, with uncertain launch speed and friction.
| Measure | Unit | 5th pct | Median | 95th pct | Mean |
|---|---|---|---|---|---|
| Range | m | 40.1 | 46.5 | 52.6 | 46.5 |
| Flight time | s | 4.44 | 4.62 | 4.81 | 4.62 |
| Maximum height | m | 28.9 | 31.0 | 33.2 | 31.0 |
| Chance of a range above the long-flight mark | 17.8% |
S-curve (cumulative probability) of VoseODE, Exact solution, Long-flight mark from the saved simulation.
The business question
A missile leaves a 10 m platform at 25 m/s and 60°. Air friction slows it in proportion to its speed, and gravity pulls it down: four ordinary differential equations. The original examples solved them with VoseODE and used Excel's Solver, and in the stochastic version VBA macros, to find when the missile lands and to fit the friction to observations.
This version needs neither: VoseODE gives the trajectory every tenth of a second, the landing is where the height crosses zero, and the fit is a search over friction values. Launch speed and friction are uncertain, so every simulation flies a different missile.
- Who it is for
- Engineers and scientists whose models are differential equations with uncertain parameters: trajectories, pharmacokinetics, population dynamics, reaction kinetics, epidemics.
- Main outputs
- The range, flight time and maximum height: mean and percentiles · the chance of a range above 50 m · what drives the range · the friction fitted to four observed positions · VoseODE's results against the exact solution.
How the model works
Five sheets after this one, read from left to right. Each one feeds the next.
Inputs sheet
Launch speed and friction as Lognormal distributions (the original Missile 3's); the angle, launch height and gravity; VoseODE's time step.
Fit sheet
Four observed positions (Missile 2). For each friction value on a fine grid, the exact trajectory's squared error. The best value and a parabola through its neighbours give the least-squares friction.
Flight sheet
The four equations as text, the variables and their starting values. The landing interpolated from the VoseODE trajectory where the height turns negative; the exact landing (Newton's method) as a check.
Trajectory sheet
VoseODE(name, equations, start, step, time stamps, names, starting values): speeds and position at 70 times.
Results sheet
The range, flight time and height, their percentiles, and what drives the range.
ModelRisk techniques
Find similar models
- Product
- Type
- Application
- Uses
The results in detail
Checks on the method
VoseODE against the exact solution, and the friction the observations imply.
Line chart: 95th percentile, Median, Mean, 5th percentile.
Tornado chart: the inputs ranked by how far the mean output moves across each input’s range.
| Measure | Unit | Value |
|---|---|---|
| Mean range, VoseODE | m | 46.46 |
| Mean range, exact solution | m | 46.37 |
| Fitted friction (Fit sheet) | per second | 0.0984 |
| Friction's mean on the Inputs sheet | per second | 0.1000 |
The ranking as a table 2 inputs
| Input (ranked by influence) | Lowest mean | Highest mean | Rank |
|---|---|---|---|
| Air friction | 40.4 | 51.5 | 1 |
| Launch speed | 42.8 | 50.2 | 2 |
How to read these results
- The missile flies about 46 m (median), and nine flights in ten land between about 40 and 52.5 m; about one in six goes beyond 50 m. It stays aloft about 4.6 s and climbs to about 31 m.
- Friction drives the range's uncertainty although the range is far more sensitive to speed: a 1% faster launch adds 1.6% to the range, 1% more friction takes away only 0.25%. Friction is simply ten times as uncertain (± 29% against ± 3%).
- VoseODE solves the four equations in every simulation. The landing is where the height crosses zero, interpolated between two time stamps, with no Solver and no macros. The exact solution agrees to about 0.1 m: the difference is VoseODE's time step.
- The four observed positions imply a friction of about 0.098 per second (Fit sheet), close to the 0.1 assumed for the launch: the fit is a search over friction values, not Solver.
See it move. Open the workbook, change an input on the Inputs sheet and run the simulation: every table and chart on this page updates in Excel.
Inputs and assumptions
Every assumption in the model, with its uncertainty and where it comes from. The figures are illustrative.
Uncertain launch 2 inputs
Lognormal(mean, standard deviation): the original Missile 3's.
| Assumption | Unit | Uncertainty | Low | Most likely | High |
|---|---|---|---|---|---|
| Launch speedMean 25 m/s, standard deviation 0.7 | m/s | Lognormal | 25.00 | 0.70 | – |
| Air frictionMean 0.1, standard deviation 0.029: compare the fit on the Fit sheet | per second | Lognormal | 0.100 | 0.029 | – |
Fixed launch conditions 5 inputs
| Assumption | Unit | Value |
|---|---|---|
| Launch angle | degrees | 60 |
| Launch height | m | 10.0 |
| Gravity | m/s² | 9.81 |
| VoseODE time stepSmaller: more accurate, slower | s | 0.010 |
| A long flight: range above | m | 50 |
Units and conventions
- Friction
- Per second: the deceleration is friction × speed.
- Range
- Horizontal distance from the platform when the missile reaches the ground (height 0).
Key assumptions and limitations
- Physics
- Friction proportional to speed (linear drag), constant gravity, no wind, flat ground.
- Integration
- VoseODE steps through time; a smaller step is more accurate and slower. The exact solution on the Flight sheet shows the step's error.
- Data
- Launch, observations and uncertainty are those of ModelRisk's earlier Missile, Missile 2 and Missile 3 examples. Missile 3 re-ran Solver with VBA macros in every iteration; this version has no macros.
How to use it
- Set the launch and the uncertainty on the Inputs sheet; replace the observations on the Fit sheet.
- Run a simulation from the ModelRisk ribbon (10,000 samples with a fixed seed are set).
- To model other dynamics, rewrite the equations and variables on the Flight sheet; VoseODE solves any system of first-order equations.
The tornado chart fills in after a simulation with ModelRisk’s classic engine.
ModelRisk functions used
- VoseODE
- Solves ordinary differential equations given as text, at chosen times.
- VoseLognormal
- Launch speed and friction, uncertain.
- VoseSimSensitivityMean
- The mean range when each input is low or high: what drives it.
- VoseSimMean, VoseSimPercentile, VoseSimProbability
- Statistics of the simulation.
Further reading
- Sensitivity analysis in Excel: a tornado chart step by step (Vose guide)
- Vose, D. (2008). Risk Analysis: A Quantitative Guide, 3rd edition. Wiley: modelling with differential equations.
Download the workbook and run it yourself. It opens in Excel with ModelRisk. The free trial runs every example model.
Related example models
- ModelRisk★★★★★Bayesian Model AveragingWhen the data cannot tell which model is right, keep them all, weighted by how well each fits.Fitting several candidate models and mixing them by how well each explains the data; three kinds of model.
- ModelRisk★★★★★Extremes of Many Random VariablesThe largest and the smallest of 10,000 independent values, without sampling all 10,000.Sampling the largest or smallest of thousands of values directly, checked against the exact formula and against sampling them one by one.
- ModelRisk★★★★★From a Survey to Probabilities: an Election1,027 voters asked: how sure can we be who wins, and which alliance wins?The Dirichlet distribution turns survey counts into uncertain shares; questions become simple 1/0 outputs.
An illustrative example: the figures are invented for teaching and do not describe a real company, project or asset. Last updated 9 October 2026.