我想用Simulink创建一个类似的图,如下所示:
- 图-1 *
这是我的MATLAB代码:
n = importdata('n.txt',';')
cars = n(:,2)
trucks = n(:,3)
bus = n(:,4)
t = linspace(1,365,365)
t = transpose(t)
以下是我的Simulink模块:
- 图-2 *
而“Scope”块做了这样的图:
- 图3*
为什么Simulink图(图3)与图1不相似。我想用Simulink创建一个类似的图形。问题出在哪里?
2条答案
按热度按时间vd2z7a6w1#
请注意,定义输入数据的
t
(ime)向量对模拟运行的时间长度没有影响-它纯粹定义输入数据的形状。默认情况下,Simulink模型的
Stop Time
为10秒,这就是为什么您的第二个数字仅为10秒。您的模型仅阅读/模拟前10
秒的数据。将Stop Time
(在模型窗口的顶部)更改为365
,或者更好的max(t)
。(在后一种情况下,如果您随后在MATLAB工作区中更改t
,则模拟停止时间也会相应更改,而无需手动更改模型中的任何内容。默认情况下,
Scope
将显示所有模拟数据。但如果它没有(或您在任何时候缩放),那么您可以使用缩放工具(在Scope
的顶部)和各种Scope
属性来更改您看到的数据量。dgenwo3n2#
在图1中,x轴表示时间,我们可以看到它跨越了365个单位的持续时间。这意味着图1中捕获的数据或事件分布在365个单位的时间段上。
另一方面,使用Simulink生成图3时,默认仿真时间设置为10秒。这意味着Simulink中的仿真系统或模型仅在10秒的持续时间内进行评估和绘制。
要使图3与图1相似(图1中时间轴跨越365个单位),您需要将Simulink中的仿真时间调整为365。通过增加模拟时间以匹配图1中所示的持续时间,您将能够在更长的时间内观察模拟系统的行为或结果。将模拟时间调整为365将允许您捕获和分析系统在相当于图1所示持续时间的时间范围内的行为。