Plot 如何在Simulink中绘制数组Y和X?

Plot 如何在Simulink中绘制数组Y和X?,plot,simulink,Plot,Simulink,我想建立一些坦克配置文件,并在模拟运行时在Simulink中可视化它们。在Matlab中,我通常键入: plot(dX, Y), grid; 其中dX和Y是包含20个元素的数组(例如)。Simulink中是否有能够绘制此图的范围或内容?X-Y图仅绘制标量:(如果我正确理解了你的问题,你的simulink模型有信号dX和Y,它们的尺寸都是20x1。因此信号本身就是向量,其值会随时间而变化。如果是这样,那么你会期望在模拟运行时将其视为某种动画。也就是说,在ea在simulink模拟的ch时间步中,

我想建立一些坦克配置文件,并在模拟运行时在Simulink中可视化它们。在Matlab中,我通常键入:

plot(dX, Y), grid;

其中
dX
Y
是包含20个元素的数组(例如)。Simulink中是否有能够绘制此图的范围或内容?X-Y图仅绘制标量:(

如果我正确理解了你的问题,你的simulink模型有信号dX和Y,它们的尺寸都是20x1。因此信号本身就是向量,其值会随时间而变化。如果是这样,那么你会期望在模拟运行时将其视为某种动画。也就是说,在ea在simulink模拟的ch时间步中,您将生成一个X-Y图,说明矢量dX和Y之间的关系

据我所知,Scope和X-Y图块不支持此用例。如果信号是随时间变化的标量值,则X-Y图将是一种方法。但正如您所说,由于您使用的是随时间变化的向量,因此X-Y图没有那么大的用处

<>这可能是一个非常快速和肮脏的解决方案,但是您可能需要考虑只使用MATLAB函数块并从内部调用绘图函数。例如,块的内容可以读如下:

function fcn(x,y)
%#codegen

coder.extrinsic('plot')
plot(x,y)
% insert additional code as needed to turn on grid, setup axis limits, etc.

MATLAB功能块将有两个输入,您可以向其中输入信号dX和Y。

是的。这就是我想要的-动画(实时模拟)。您的解决方案可以工作。谢谢!但是,模拟速度慢了很多:(如果您使用的是连续或快速离散采样时间,您可能希望以较慢的离散采样时间运行MATLAB功能块,以便动画得到更新,比如说每秒钟更新一次,并且不会使模拟速度减慢太多。您必须使用适当的速率转换块来往返于连续/快速离散采样时间从/到较慢的离散解决方案。是的,不幸的是,像我建议的那样快速而肮脏的解决方案通常具有缓慢而肮脏的性能。不过,我认为am304提供了一个很好的可能改进。