这个例子展示了如何替换MATLAB中使用的函数®功能块具有更高效的实现。下面的模型包含一个MATLAB函数块,计算输入的正弦值。使用代码视图替换内置的罪
函数使用查找表。
将目录更改为模型所在的文件夹。在MATLAB命令行输入:
cd (fullfile (docroot,“工具箱”,“fixpoint”,“例子”))
复制并保存ex_mySin.slx
文件到本地可写文件夹并打开模型。
函数Y = my_sin(u)% # codegenY = sinu;
要打开定点工具,请在应用程序选项卡,展开应用程序图库和选择定点的工具
在“定点工具”中,展开新按钮箭头并选择迭代定点转换
.
下设计中的系统(SUD),选择模型ex_mySin
作为系统的转换。
下范围采集模式中,选择模拟范围作为范围收集的方法。这将模型配置为使用理想化的浮点数据类型收集范围。
在准备部分,单击准备.
扩大收集范围按钮箭头并选择双精度
.点击收集范围开始模拟。
定点工具将模拟数据存储在一个名为BaselineRun
.检查电子表格中MATLAB变量的范围信息。
中启动代码视图转换部分,单击MATLAB函数.
选择函数替换选项卡。
输入要替换的函数的名称。本例中,输入罪
.选择查找表
,然后按.
定点转换过程推断函数的范围,然后使用插值查找表替换函数。默认情况下,查找表使用线性插值、1000个点以及运行测试文件检测到的最小值和最大值。
点击提出获取变量的数据类型建议。
点击应用应用数据类型建议并生成一个定点查找表。
如果生成的定点代码的行为与原始代码的行为不够接近,则修改查找表中使用的插值方法或点数,然后重新生成定点代码。
返回定点工具。在验证工具条中的使用嵌入式类型进行模拟按钮,使用新应用的定点数据类型来模拟模型。该模型以定点变量作为主动变量进行仿真。