【问题标题】:Matlab timeseries plot errorMatlab时间序列图错误
【发布时间】:2016-04-27 02:21:28
【问题描述】:

我在尝试将这两个时间序列相互绘制时遇到问题:

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 中的“到工作区”变量从 1x1 双时间序列更改为数组,这似乎允许我进行绘图,但仅 Te 的绘图变得不正确。

我创建的所有其他图,我无法遵循 plot(time,yvariable) 的格式,因为它给出了相同的错误,所以我一直在使用 plot(yvariable) 直到现在。

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

【问题讨论】:

    标签: matlab plot simulink


    【解决方案1】:

    根据您的问题,我不完全了解您要做什么。如果您尝试将两个 timeseries 对象的数据成员相互绘制,请使用

    plot(wrm.Data, Te.Data);
    

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

    Te2 = resample(Te2, wrm.Time);
    

    如果您想将两者都按时间绘制,请使用

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

    或者,就像我喜欢做的那样:

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

    【讨论】:

    • 您好,感谢您的回复!你是对的,因为我试图将两个时间序列相互绘制。我现在可以让 wrm vs Te 图起作用,我认为问题在于长度。我现在唯一遇到的问题是我无法使用子图绘制 Te 的图,这可能是将变量更改为数组的问题吗?
    猜你喜欢
    • 2017-12-29
    • 2018-01-13
    • 1970-01-01
    • 2021-03-31
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    相关资源
    最近更新 更多