Matlab时间序列绘图错误

时间:2016-04-27 02:21:28

标签: matlab plot simulink

我试图将这两个时间序列相互映射时遇到问题:

subplot(2,2,3),plot(wrm,Te);title('Speed-Torque curve');
xlabel('wrm [rad/s]');ylabel('Te[Nm]')
axis([-5 10 20 200]);
grid; 

它出现了

的错误
Error using plot
A numeric or double convertible argument is expected

Error in timeseries/plot (line 163)
p = plot(ax,Time,Data,varargin{:});

我已经尝试将simulink中的“to workspace”变量从1x1双时间序列更改为数组,这似乎允许我绘制,但只是Te的绘图变得不正确。

我创建的所有其他绘图,我无法遵循绘图的格式(时间,y变量),因为它给出了相同的错误,所以我一直只使用到目前为止已经工作的绘图(y变量)。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

从你的问题我不明白你想要做什么。如果您尝试将两个timeseries对象的数据成员相互绘制,请使用

plot(wrm.Data, Te.Data);

如果您正在绘制数据成员,您当然需要确保这些向量的长度相同。如果不是,你可以使用像

这样的东西
Te2 = resample(Te2, wrm.Time);

如果您想要反映时间,请使用

plot(wrm); hold on; plot(Te);

或者,我喜欢这样做:

wrm.plot(); hold on; Te.plot();