我有一个矩阵,其中包含通过 ODE 计算然后绘制的行星的计算运动数据,我需要分别绘制每个行星,是否可以通过使用 set 函数实时做到这一点一个矩阵,还是我必须相应地分解矩阵?(太阳、水星、金星、地球、火星、木星、土星、天王星、海王星、冥王星的 x、y、z 位置和速度有 60 列)我需要绘制的矩阵中的列是第一列每组六人中的三人
谢谢
克里斯
是否可以通过仅对一个矩阵使用 set 函数来实时执行此操作,还是我必须相应地分解矩阵?
这取决于您的绘图方式。
例如,如果您将所有行星定义为带有标记的线,那么您可以使用单个命令进行更新:
% create the line object
l = line(x,y,z,'color','r', 'linestyle', 'none', 'marker', '.', 'markersize', 20);
% update the positions
set(l,'XData', planetPositions(:,1), 'YData', planetPositions(:,2), 'ZData', planetPositions(:,3));
但是,如果行星是单独绘制的,那么您需要一一更新它们的位置。