这个例子展示了如何从浮点MATLAB生成定点C代码®使用编程式工作流的代码。
创建一个定点配置对象,并配置测试文件名。例如:
fixptcfg = coder.config (“fixpt”);fixptcfg。TestBenchName =“fun_with_matlab_test”;
定点转换软件可以根据模拟范围、派生范围或两者同时提出类型。
对于只使用模拟范围的类型提议,启用模拟范围数据的收集和报告。缺省情况下,未启用派生范围分析。
fixptcfg。ComputeSimulationRanges = true;
对于只使用派生范围的类型提议:
指定输入参数的设计范围。例如:
fixptcfg.addDesignRangeSpecification (“唯一”,“u_in”, -1.0, 1.0);
启用派生范围分析。禁用模拟范围数据的收集和报告。
fixptcfg。ComputeDerivedRanges = true;fixptcfg。ComputeSimulationRanges = false;
选择运行测试文件来验证生成的定点MATLAB代码。
fixptcfg。TestNumerics = true;
记录输入和输出以进行比较绘图。选择使用自定义函数或模拟数据检查器绘图。例如,使用模拟数据检查器进行绘图:
fixptcfg。LogIOForComparisonPlotting = true;fixptcfg。PlotWithSimulationDataInspector = true;
根据需要配置其他定点配置对象属性。例如,定义默认的定点字长:
fixptcfg。DefaultWordLength = 16;
创建用于生成C静态库、动态库或可执行程序的代码配置对象。启用代码生成报告。例如:
cfg = coder.config (“自由”);cfg。GenerateReport = true;
使用codegen
函数将浮点MATLAB函数转换为定点C代码.例如:
Codegen -float2fixed fixptcfg -config CFG fun_with_matlab
单击指向入口点功能的类型建议报告的链接。
如果您选择将输入和输出记录为比较图,那么转换过程将生成比较图。
如果您选择对这些图使用仿真数据检查器,则会打开仿真数据检查器。使用模拟数据检查器查看和比较浮点和定点运行信息。
如果您选择为这些图使用自定义绘图函数,那么转换过程将使用自定义函数来生成绘图。
单击查看报告类型建议报告后面的链接。要查看定点MATLAB代码,请选择函数中的MATLAB源窗格。控件中的文件可以查看定点C代码生成的代码窗格。