带动画的实时脚本

zee*_*eez 14 matlab plot matlab-figure

MATLAB 2016a引入了Live Scripts,允许在脚本旁边显示绘图输出.是否有可能展示动画?例如,常规脚本中的以下代码将绘制几个点,然后旋转axes:

x = rand(10, 3);
plot3(x(:, 1), x(:, 2), x(:, 3), 'o')
for ii = 1:360
    camorbit(1, 10*cos(ii/90*pi)*pi/45)
    drawnow
    pause(0.01)
end
Run Code Online (Sandbox Code Playgroud)

如果将其嵌入到实时脚本中,则会显示初始绘图,然后在循环运行时似乎没有任何反应,则最后一个方面(与原始绘图相同)将显示在新的显示项中.

或者,是否可以选择与实时脚本中的绘图进行交互(除了双击以打开新图中的绘图)?例如rotate3d没有效果.

zee*_*eez 0

问题中发布的示例代码会生成截至 MATLAB 2019a 的旋转图。它在 2018b 中还不起作用。2019a 的发行说明提到

您可以在实时编辑器中启用 for 循环动画,以显示绘制数据随时间的变化。要在实时编辑器中启用动画,请将设置matlab.editor.AllowFigureAnimations设置为true

s = settings;
s.matlab.editor.AllowFigureAnimation.PersonalValue = true;
Run Code Online (Sandbox Code Playgroud)

在示例脚本之前运行这两行将产生预期的行为。