如何将Matlab Simulink模型中的计算精度降低到特定的十进制数?

时间:2016-02-04 06:13:43

标签: matlab settings microcontroller precision simulink

我想以降低的精度在Simulink中执行模型,即每个计算应该精确到特定的小数位(比如小数点四位; 0.0001)而不是第14位,这是Matlab中的默认值。许多人希望减少特定变量以降低精度,并且可以使用解决方案。但我需要降低整体精度。这是为了测试我们是否能够在不那么精确的微控制器中获得所需的结果。 可能是Simulink中的设置会做到这一点,但我无法找到它。 在此先感谢!!

1 个答案:

答案 0 :(得分:1)

我在MATLAB中了解digits函数,所以如果你在MATLAB function Block中有模型主要计算,你可以试试这个,但这不是你想要的。

看起来我们无法用简单的方法控制Simulink的精度,但我发现了两种有趣的方法:

  1. 转到配置参数/硬件实现,然后选择您需要的微控制器。如果您无法在列表中找到它,请选择自定义并设置所需的参数。

  2. 第二种方式:如果你有Fixed Point Designer Toolbox尝试。我阅读了描述 - 它看起来像你需要的工具!

  3. 在我写这个答案时,我想到了另外一件事 - 您可以在配置参数中为变量步骤求解器设置容差。是的,所有数字仍然是双倍,但也许它可以帮助!