将系统转换为单精度
此示例说明如何使用单精度转换器将系统转换为单精度。此示例将双精度模型的子系统转换为单精度。要将模型中的某个子系统转换为单精度,请在打开单精度转换器之前,用 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);
该模型使用双精度、布尔和内置整型数据类型的组合。
转换为单精度
打开单精度转换器。从 Simulink® App 选项卡中,选择单精度转换器。
在在设系统下,选择要转换为单精度的系统或子系统。对于此示例,选择 Corner Detector 子系统。点击转换为单精度。
转换器首先检查系统与转换的兼容性,并更改任何不兼容的模型设置。模型的语言标准必须设置为 C99 (ISO),并且模型必须使用定步长求解器。
转换器转换系统并列出所有转换后的数据类型。转换器仅更改双精度数据类型。它不会将布尔、定点或内置整数类型转换为单精度。
当在设系统包含 MATLAB® Function 模块时,转换器会创建一个可变子系统,其中包含生成的 MATLAB Function 模块的单精度版本和原始 MATLAB Function 模块。
在转换的最后阶段,转换器通过更新模型来验证转换是否成功。
返回模型并更新图。Corner Detector 子系统内的模块不再使用双精度数据类型。