MATLAB
```RNew = ChangeRd(RPecf,RTecf,[EarthRadius],rd)
RNew = ChangeRd(Geom,rd)```

Change the down range along a spherical earth surface between two ECF position vectors. The platform will be moved to a new location corresponding to desired down range, rd, while keeping the platform altitude fixed. Output is the new platform ECF position. To move the target instead of the platform, use ReverseGeom.

 Parameters Description Geom [struct/list] Geometry parameters. Can be a structure from GeomStruct or a comma separated list of (RPecf,RTecf,EarthRadius,...) RPecf [vector] Platform ECF position (m). RTecf [vector] Target ECF position (m). EarthRadius [scalar/vector] (Optional) Earth radius to use (m). Defaults to the mean Earth radius. rd [scalar] Desired down range along the spherical Earth surface (m).
 Return Values Description RNew [vec/struct] New platform ECF position vector or new geometry structure with updated platform position (m).

>> GNew = ChangeRd(GeomStruct,25e3)

• Compute default geometry from GeomStruct at 25 km ground range, moving the platform
>> GNew = ReverseGeom(ChangeRd(ReverseGeom(GeomStruct),25e3))

• Compute default geometry from GeomStruct at 25 km ground range, using ReverseGeom so that the target is moved
>> G = GeomStruct;

>> RNew = ChangeRd(G.RP,G.RT,[20:10:50]*1e3)

• Compute new platform position for several ranges
>> re = [PhysicalConst('reequator') PhysicalConst('repole')];

>> RNew = ChangeRd(G.RP,G.RT,re,[20:10:50]*1e3)

• Compute new platform position for several ranges assuming oblate earth