用MATLAB函数编程生成一个优化的查找表
这个例子展示了如何生成一个优化的查找表作为MATLAB®函数来近似双曲正切。然后用MATLAB函数查找表近似代替双曲正切函数并生成C代码。
使用FunctionApproximation。选项
对象指定一个MATLAB函数作为解类型。精度和字长限制使用默认值。
选择= FunctionApproximation.Options ();选项。ApproximateSolutionType =MATLAB的;
中指定要近似的函数以及输入范围和数据类型FunctionApproximation。问题
对象。
functionToApproximate =的双曲正切;问题= FunctionApproximation。问题(functionToApproximate,“选项”、选择);问题。InputLowerBounds = 0;问题。InputUpperBounds = 0.25;
使用解决
方法来解决优化问题并创建查找表解决方案。
解决方案=解决(问题)
| | ID内存(位)| |可行的表大小|断点WLs | TableData西城| BreakpointSpecification |错误(Max、电流)| | 0 | 64 | 1 | 2 | 16 | | EvenSpacing | 7.812500 e 03, 1.962196 e 03 | | 64 | | 1 | 2 | 16 | | EvenPow2Spacing | 7.812500 e 03, 1.962196 e 03 |最佳解决方案| | ID内存(位)| |可行的表大小|断点WLs | TableData西城| BreakpointSpecification |错误(Max、电流)| | 64 | | 1 | 2 | 16 | | EvenPow2Spacing | 7.812500 e 03, 1.962196 e 03 |
解= 1x1函数逼近。具有属性的LUTSolution: ID: 1可行:“true”
要获得生成的查找表作为MATLAB函数,请使用近似
方法。使用可选的名称-值参数指定查找表函数的名称和路径。
文件名=“tanhApproximate”;filepath = cd;近似(解决方案,“名字”文件名,“路径”, filepath);
如果您安装了MATLAB Coder™,您可以使用codegen
命令从近似查找表函数生成C代码。
inputArgs = linspace(1、10、10);codegentanhApproximate.marg游戏{inputArgs}
代码生成成功。
另请参阅
FunctionApproximation。问题
|FunctionApproximation。选项
|解决
|近似