This function will compute the great circle distance between two points on a sphere of uniform radius using the Vincenty formula. At minimum, four inputs are required: lat1, long1, lat2, long2. Optionally, a fifth parameter (r) can be specified. If this parameter isn't specified it's assumed to be the mean radius of the earth in km.
phi_s = latitude of the standpoint (base)
lambda_s = longitude of the standpoint (base)
phi_f = latitude of the forepoint (destination)
lambda_f = longitude of the forepoint (destination)
r = radius of the sphere [units determine units of d]
d = great circle distance from standpoint to forepoint
Note that the Vincenty equation requires the latitude and longitude to be specified in radians. This function will accept either radians, DMS or DM. If the input angles are scalar, they are assumed to be radians. If they are structures or they are not scalars, then they are assumed to be either DMS or DM and are converted to radians as needed.
Steve Ratts (2019). Compute the Great Circle Distance between two points (https://www.mathworks.com/matlabcentral/fileexchange/23026-compute-the-great-circle-distance-between-two-points), MATLAB Central File Exchange. Retrieved .
This function seems to be based on the assumption that a and b, the major and minor radii of the Earth, are the same. This allows a simplification, as can be seen in the wiki linked above, but it is not the full Vincenty.
A full implimentation would require an iterative appproach.