主要内容

用非浮点信号或状态线性化块

您可以对具有非浮点信号或状态且没有预先编程的精确线性化的块进行线性化。没有额外的配置,这些块自动线性为零。例如,逻辑运算符块具有布尔输出并线性化为0。

线性化具有非浮点信号的块需要将所有信号转换为双精度或单精度。只有当您的模型能够以双精度或单精度正确运行时,此方法才有效。

当只有少数块受到非浮点数据类型的影响时,可以使用数据类型转换阻止以修复此问题。

当您有许多非双精度信号时,您可以使用固定点工具用双精度覆盖所有数据类型。

使用数据类型转换块覆盖数据类型

在通过插入模型之前将单个信号转换为双重精度数据类型转换块。这种方法适用于只有几个受影响的块的模型。

在线性化模型之后,从模型中移除数据类型转换块。

请注意

当模型依赖于非浮点数据类型时,重写非浮点数据类型是不合适的,例如依赖于整数数据类型来执行浮点值的截断。

例如,考虑配置为线性化广场在输入为1的操作点处阻塞。得到的线性化模型应该是2,但是广场块布尔。这个具有非浮点数据类型的信号将导致线性化为零。

在本例中,插入a数据类型转换块将输入信号转换为广场块到双精度。这样做

使用固定点工具覆盖数据类型

当线性化包含非浮点数据类型但仍然以完全双精度或单精度运行的模型时,可以使用固定点工具.当您有许多非浮点精度信号时,请使用这种方法。

线性化模型后,恢复原始设置。

请注意

当模型依赖于非浮点数据类型时,重写非浮点数据类型是不合适的,例如依赖于整数数据类型执行浮点截断。

  1. 打开固定点工具.在仿真软件金宝app®模型窗口,上应用程序选项卡,应用程序画廊,下代码生成,点击固定点工具

  2. 数据类型覆盖菜单,选择

  3. 线性化完成后恢复设置。

另请参阅

相关的话题