Simulin万博1manbetxk上的家伙

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

比较SDI中的运行

今天我升级了一个大型模型到MATLAB的最新版本。我发现了一个技巧来比较更新前后的结果,我认为我应该分享。

不同的结果

为了验证模型是否如预期的那样模拟,我决定记录许多信号,并对它们进行比较。为此,我保留了万博1manbetx仿真软件。SimulationOutput由模型在每个版本中生成,并导入仿真数据检查

在SDI中导入数据

我很快意识到结果并不匹配。这是典型的,对于浮点数,进行比较并期望完全匹配通常是一个坏主意。由于浮点舍入错误,比较合适的方法是查看比较的信号之间的差异是否在一定的公差范围内。

调整公差

在“运行”视图中,可以指定用于决定信号是否通过比较的公差。

在SDI中指定公差

现在你可能会问:如果我想比较一千个信号,看看每个信号的差异是否在1%以内,我需要逐个设置它们吗?

以编程方式指定公差

这就是模拟数据检查器的位置编程API变得有用。

通过以下几行代码,可以访问运行、每次运行中的信号,并获取或设置其属性:

在SDI中以编程方式指定公差

我觉得很方便的是,API直接在打开的Simulation Data Inspector窗口上工作。这意味着我可以立即返回到仿真数据检查器,运行比较,并观察我与指定的公差有多接近。

比较

现在轮到你了

试试这个,让我们知道你的想法,留下一个这里的评论

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。