通过将逻辑信号存储为布尔数据来优化生成的代码。当选择型号配置参数时将逻辑信号实现为布尔数据(vs. double),生成逻辑信号的块输出布尔信号。
优化:
减少ROM和RAM的消耗。
提高执行速度。
考虑到模型rtwdemo_logicalAsBoolean.的输出关系操作符
,逻辑运算符
和HitCrossing
块双
,尽管它们代表的是逻辑数据。
模型=“rtwdemo_logicalAsBoolean”;open_system(模型);
为构建和检查过程创建一个临时文件夹(在系统临时文件夹中)。
currentDir = pwd;[~, cgDir] = rtwdemodir ();
构建的模型。
slbuild(模型)
### #成功完成rtwdemo_logicalAsBoolean的构建过程:模型重建行动的原因 ========================================================================================================= rtwdemo_logicalAsBoolean代码生成和编译代码生成信息文件不存在。构建时间:0h 0m 29.987s
查看生成的代码而不进行优化。这些代码行已经加入rtwdemo_logicalAsBoolean.h
.
hfile = fullfile (cgDir,“rtwdemo_logicalAsBoolean_ert_rtw”,...“rtwdemo_logicalAsBoolean.h”);rtwdemodbtype (hfile/ *外部输出的,'/*参数(默认存储)*/'1 0);
/*外部输出(根输出由默认存储信号提供)*/ typedef struct {real_T Out1;/* '/Out1' */ real_T Out2;/* ' /Out2' */ real_T Out3;/* ' /Out3' */} ExtY_rtwdemo_logicalAsBoolean_T;
打开“配置参数”对话框。
选择将逻辑信号实现为布尔数据(vs. double)参数。
或者,你可以使用命令行API来启用优化:
set_param(模型,“BooleanDataType”,“上”);
生成的代码将逻辑信号输出存储为布尔数据。
构建的模型。
slbuild(模型)
### #成功完成rtwdemo_logicalAsBoolean的构建过程:模型重建行动的原因 ======================================================================================== rtwdemo_logicalAsBoolean代码生成和编译生成的代码是过时了。1个模型(0个模型已经更新)构建时间:0h 0m 14.212s
使用优化查看生成的代码。这些代码行已经加入rtwdemo_logicalAsBoolean.h
.
rtwdemodbtype (hfile/ *外部输出的,'/*参数(默认存储)*/'1 0);
/*外部输出(由默认存储信号提供的根输出)*//* '/Out1' */ boolean_T Out2;/* ' /Out2' */ boolean_T Out3;/* ' /Out3' */} ExtY_rtwdemo_logicalAsBoolean_T;
关闭模型和代码生成报告。
bdclose rtwdemoclean(模型);cd (currentDir)