主要内容

将系统转换为单精度

此示例说明如何使用单精度转换器将系统转换为单精度。此示例将双精度模型的子系统转换为单精度。要将模型中的某个子系统转换为单精度,请在打开单精度转换器之前,用 Data Type Conversion 模块将该在设子系统包围起来。

打开模型

打开 ex_corner_detection_double 模型并设置模型参数。

open_system("ex_corner_detection_double.slx")

R = 80; C = 80;
g = fspecial('gaussian',[5 5],1.5);

该模型使用双精度、布尔和内置整型数据类型的组合。

转换为单精度

  1. 打开单精度转换器。从 Simulink® App 选项卡中,选择单精度转换器

  2. 在设系统下,选择要转换为单精度的系统或子系统。对于此示例,选择 Corner Detector 子系统。点击转换为单精度

    转换器首先检查系统与转换的兼容性,并更改任何不兼容的模型设置。模型的语言标准必须设置为 C99 (ISO),并且模型必须使用定步长求解器。

    转换器转换系统并列出所有转换后的数据类型。转换器仅更改双精度数据类型。它不会将布尔、定点或内置整数类型转换为单精度。

    当在设系统包含 MATLAB® Function 模块时,转换器会创建一个可变子系统,其中包含生成的 MATLAB Function 模块的单精度版本和原始 MATLAB Function 模块。

    在转换的最后阶段,转换器通过更新模型来验证转换是否成功。

  3. 返回模型并更新图。Corner Detector 子系统内的模块不再使用双精度数据类型。

另请参阅

主题