我在MATLAB中制作了一个GUI,并且在一点上得到了一个地球的三维图,我在那里展示了一个卫星的轨道。我想要的是在每个点上显示(例如,我增加坐标[纬度,通过矢量(向北矢量,向东矢量,向下矢量),地球磁场的大小与该轨道相差1度并保持相同的高度。这是代码的一部分,但它不起作用< / p>
magnetic_field_ = igrf(time,T(i,1),T(i,2),T(i,3),'geodetic');
[hh(i,1) hh(i,2) hh(i,3)]=igrf(time,T(i,1),T(i,2),T(i,3),'geodetic');
。 。
% earth
axesm('globe','geoid',wgs84Ellipsoid)
load topo
meshm(topo, topolegend, size(topo));
demcmap(topo);
hold on;
。
vv=lla2ecef([T(i,1),T(i,2),T(i,3)]);
spheroid = referenceEllipsoid('GRS 80');
[Bh(1) Bh(2) Bh(3)]=ned2ecefv(hh(i,1),hh(i,2),hh(i,3),T(i,1),T(i,2),T(i,3));%,spheroid,'degrees');
h=quiver3(vv(1),vv(2),vv(3),Bh(1),Bh(2),Bh(3),0.1,'r');
h.MaxHeadSize=3;
hold on