使用matlab进行关于航空成像定位中像方投影坐标的计算

关于航空成像定位中像方投影坐标的计算
看到文献中有具体计算流程如图,想要实现他的功能。

img

有疑似程序但无注释可否帮忙讲解

function GPSTarget=GeolocationWithDEM(k,b,DemAreaLat,DemAreaLon,DemAreaAlt,ECEFAC)

AltMAX=max(max(DemAreaAlt));
for AltTarget=AltMAX:-100:AltMAX-3000
GPSTarget=Geolocation(k,b,AltTarget,ECEFAC);
AltTarget_=GetPointAlt(DemAreaLat,DemAreaLon,DemAreaAlt,GPSTarget(1,1),GPSTarget(2,1));
if AltTarget_>AltTarget
break;
end
end

for AltTarget=GPSTarget(3,1):25:AltMAX
GPSTarget=Geolocation(k,b,AltTarget,ECEFAC);
AltTarget_=GetPointAlt(DemAreaLat,DemAreaLon,DemAreaAlt,GPSTarget(1,1),GPSTarget(2,1));
if AltTarget_<AltTarget
break;
end
end

for AltTarget=GPSTarget(3,1):-5:AltMAX-3000
GPSTarget=Geolocation(k,b,AltTarget,ECEFAC);
AltTarget_=GetPointAlt(DemAreaLat,DemAreaLon,DemAreaAlt,GPSTarget(1,1),GPSTarget(2,1));
if AltTarget_>AltTarget
break;
end
end

for AltTarget=GPSTarget(3,1):1:AltMAX
GPSTarget=Geolocation(k,b,AltTarget,ECEFAC);
AltTarget_=GetPointAlt(DemAreaLat,DemAreaLon,DemAreaAlt,GPSTarget(1,1),GPSTarget(2,1));
if AltTarget_<AltTarget
break;
end
end

for AltTarget=GPSTarget(3,1):-0.2:AltMAX-3000
GPSTarget=Geolocation(k,b,AltTarget,ECEFAC);
AltTarget_=GetPointAlt(DemAreaLat,DemAreaLon,DemAreaAlt,GPSTarget(1,1),GPSTarget(2,1));
if AltTarget_>AltTarget
break;
end
end

for AltTarget=GPSTarget(3,1):0.04:AltMAX
GPSTarget=Geolocation(k,b,AltTarget,ECEFAC);
AltTarget_=GetPointAlt(DemAreaLat,DemAreaLon,DemAreaAlt,GPSTarget(1,1),GPSTarget(2,1));
if AltTarget_<AltTarget
break;
end
end)

除此之外,想要使用二分法实现这一功能,对应的程序该怎么写?(重点)
除此之外,想要使用二分法实现这一功能,对应的程序该怎么写?
除此之外,想要使用二分法实现这一功能,对应的程序该怎么写?

我可以给你提供思路