Я пишу код для построения круговой орбиты спутника (созданной с помощью функции comet3 ()) вокруг трехмерной модели Земли (созданной с помощью функций surf () и set ()). Проблема в том, что я не могу найти способ собрать их в один сюжет. Я пытался использовать удержание и удержание, но, похоже, это тоже не работает. Я вставляю приведенный ниже код MATLAB для справки.
Редактировать: Все остальные функции, такие как sv_from_coe (), odeset и т. Д. Работают отлично, единственное место, с которым я сталкиваюсь, это объединение графиков из comet3() и set ().
G = 6.67E-11;
Me = 5.976E24;
coe = [6776, 0.0005638, 2.0543, 0.9, 5.549, 0];
[r, v] = sv_from_coe(coe);
rv = [r v];
opt = odeset('RelTol', 1e-6, 'AbsTol', 1e-6);
[t,X] = ode45(@rate, [0 2*1.5*3600], rv, opt);
[x,y,z] = sphere;
r_earth = 6378*1000;
figure
hs1 = surf(x*r_earth,y*r_earth,-z*r_earth);
cdata = imread('1024px-Land_ocean_ice_2048.jpg');
alpha = 1;
hold on
axis equal
comet3(X(:,1), X(:,2), X(:,3))
set(hs1, 'FaceColor', 'texturemap', 'CData', cdata, 'FaceAlpha', alpha, 'EdgeColor', 'none')