Simulin万博1manbetxk上的Guy

万博1manbetxSimulink &基于模型的设计

从Excel导入数据

今天我想分享一个从Excel导入信号到模拟的有用技巧。

来自电子表格块

如果你不知道,自R2015b以来,Simulink提供了万博1manbetx从电子表格块。

来自电子表格块

使用此块,您可以指定Excel文件、表名和数据范围。

从电子表格对话框

配置From电子表格块

让我们以一个简单的Excel表格为例,其中我们每0.1秒采样一次:

Excel表

如果我像上图那样配置From Spreadsheet块,指定第一列是时间,我很可能会在模拟中看到重复或跳过的点。

Excel表格结果

为什么呢?这和我在这篇文章中解释的现象是一样的关于在Simulink中导入离散信号数据的前一篇文章万博1manbetx

如果我们比较Excel电子表格中的“等间隔”时间点,你会注意到它们与Simulink中的等间隔时间点略有不同:万博1manbetx

比较Excel和Simulink万博1manbetx

在这个例子中,当Simulink在13.6秒万博1manbetx处取一个点时,它看到数据中不包含13.6秒处的点,并保持13.5秒处的前一个值。在13.7秒时,它将输出它在数据中看到的最后一个点,即13.6000000000099秒处的点。

如何避免这种情况?

为了避免Simulink所采取的步骤与Excel工作表中指定的步骤之间的混淆,我建议配置From Sp万博1manbetxreadsheet块以忽略Excel工作表中的时间列。

为此,在块对话框中,将Sample Time设置为适当的值,然后将将第一列处理为数据并指定范围从第二列开始:

比较Excel和Simulink万博1manbetx

这样,From Spreadsheet块将在每个时间步骤中只使用Excel表中的一行。

现在轮到你了

你正在使用来自电子表格块吗?你上这期杂志了吗?

如果您对我们如何改进来自电子表格块以避免这种情况有建议,请告诉我们。

|

コメント

コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。