人在仿真软件金宝app

金宝app仿真软件和基于模型的设计

加载时间格式的信号

今天我决定重新审视一个话题我几年前覆盖:离散信号加载在一个模拟世界中。

让我们看看添加了在过去的几年中帮助时可能遇到的潜在问题加载离散信号在一个模拟世界中。

这个问题

让我们先从一个简单的Excel表有两列,第一个时间和第二信号值。我做了相同的数据时间只是使问题更加明显。实际的文件,我们将使用包含10000行,停止时间10秒。

Excel表

像我解释这篇文章,可以使用从电子表格块加载这个信号。

如果你这样做,我强烈建议要小心加载时间从Excel列。即使时间点在Excel中看起来等距的,他们以同样的方式可能不等距的仿真软件的时间步骤。金宝app如果有差异,你可能最终得到重复或缺失点。

上面所示的文件,这就是输出看起来像如果你从电子表格中使用默认设置。峰值在底部轴迹象表明点错过或复制。

Excel表

看到这篇文章更多细节关于如何配置从电子表格块以避免这个问题。

对于今天的例子中,我添加一个额外的复杂程度:

  • 我想加载信号通过一个根级尺寸块
  • 我想要的信号数组的一部分公交车
  • 我希望这个模型有多个根级尺寸块在不同的利率

使用下面的模型中,我们想从Excel表加载信号,并将其分配给元素”。轮廓尺寸a1”“u1”:

示例模型

createInputDataset

当你有这样的一个模型,您想要加载信号通过根级尺寸块,你最好的起点是函数createInputDataset

这个函数将分析模型并创建一个骨架数据集对象适合你的模型。

创建输入数据集

在这个数据集,每个信号是MATLABtimeseries在仿真开始时间与一个点和一个停止时间点,值为零。所有我们需要做的是代替那些与我们的真实数据。

时间表

在这一点上,我们可以读取Excel文件并创建一个时间序列与随着时间的第一列和第二列数据:

创建一个timeseries

然而,我们最终得到和上面同样的问题…因为时间列在Excel中不是相同的仿真软件采取的措施,我们还看到几错过点:金宝app

错误的结果

幸运的是,而不是timeseries,可以填补的数据集时间表。而不是xlsread,可以直接读取数据使用readtimetable,这是更现代的和强大的。

在下面的例子中,我使用时间表指定其他信号与不同的样本。

时间表

模拟模型,我们可以确定没有意义缺失或重复:

好的结果

现在轮到你了

你的首选方法在模拟负载信号?在下面的评论中让我们知道。

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。