dreckon
Dead reckoning positions for track
Syntax
[drlat,drlong,drtime] = dreckon(waypoints,time,speed)
[drlat,drlong,drtime] = dreckon (waypoints,time,speed,spdtimes)
Description
[drlat,drlong,drtime] = dreckon(waypoints,time,speed)
returns
the positions and times of required dead reckoning (DR) points for
the input track that starts at the input time. The track should be
in navigational track format (two columns, latitude then longitude,
in order of traversal). These waypoints are the starting and ending
points of each leg of the track. There is one fewer track leg than
waypoints, as the last point included is the end of the track. In
navigation, the first waypoint would be a navigational fix, taken
at time
. The speed
input can
be a scalar, in which case a constant speed is used throughout, or
it can be a vector in which one speed is given for each track leg
(that is, speed changes coincide with course changes).
[drlat,drlong,drtime] = dreckon (waypoints,time,speed,spdtimes)
allows
speed changes to occur independent of course changes. The elements
of the speed
vector must have a one-to-one correspondence
with the elements of the spdtimes
vector. This
latter variable consists of the time interval after time
at
which each speed order ends. For example, if time
is
6.75, and the first element of spdtimes
is 1.35,
then the first speed
element is in effect from
6.75 to 8.1 hours. When this syntax is used, the last output DR is
the earlier of the final spdtimes
time
or the final waypoints
point.
Background
This is a navigational function. It assumes that all latitudes and longitudes are in degrees, all distances are in nautical miles, all times are in hours, and all speeds are in knots, that is, nautical miles per hour.
Dead reckoning is an estimation of position at various times based on courses, speeds, and times elapsed from the last certain position, or fix. In navigational practice, a dead reckoning position, or DR, must be plotted at every course change, every speed change, and at every hour, on the hour. Navigators also DR at other times that are not relevant to this function.
Often in practice, when two events occur that require DRs within a very short time, only one DR is generated. This function mimics that practice by setting a tolerance of 3 minutes (0.05 hours). No two DRs will fall closer than that.
Examples
Assume that a navigator gets a fix at noon, 1200Z, which is (10.3ºN, 34.67ºW). He's in a hurry to make a 1330Z rendezvous with another ship at (9.9ºN, 34.5ºW), so he plans on a speed of 25 knots. After the rendezvous, both ships head for (0º, 37ºW). The engineer wants to take an engine off line for maintenance at 1430Z, so at that time, speed must be reduced to 15 knots. At 1530Z, the maintenance will be done. Determine the DR points up to the end of the maintenance.
waypoints = [10.1 -34.6; 9.9 -34.5; 0 -37] waypoints = 10.1000 -34.6000 % Fix at noon 9.9000 -34.5000 % Rendezvous point 0 -37.0000 % Ultimate destination speed = [25; 15]; spdtimes = [2.5; 3.5]; % Elapsed times after fix noon = 12; [drlat,drlong,drtime] = dreckon(waypoints,noon,speed,spdtimes); [drlat,drlong,drtime] ans = 9.8999 -34.4999 12.5354 % Course change at waypoint 9.7121 -34.5478 13.0000 % On the hour 9.3080 -34.6508 14.0000 % On the hour 9.1060 -34.7022 14.5000 % Speed change to 15 kts 8.9847 -34.7330 15.0000 % On the hour 8.8635 -34.7639 15.5000 % Stop at final spdtime, last % waypoint has not been reached
Version History
Introduced before R2006a