使用查找表优化器,您可以生成一个类似于Simulink的直接查找表金宝app®块或函数。在硬件上实现直接查找表非常有效,因为它们不需要任何计算。
创建一个FunctionApproximation。问题
指定生成近似函数的对象。要生成直接查找表,请将插值方法设置为没有一个
在里面FunctionApproximation。选项
目的。
问题= functionApproximation.Problus(“量化”);问题。InputTypes = [numerictype(0,4,2) numerictype(0,8,4)];问题。OutputType = fixdt (0 8 7);problem.Options.Interpolation =“没有”;problem.Options.AbsTol = 2 ^ 4;problem.Options.RelTol = 0;problem.Options.WordLengths = 1:8;
使用解决
生成最佳查找表的方法。
解决方案=解决(问题)
| | ID内存(位)| |可行的表大小|中间WLs | TableData西城|错误(Max、电流)| | 0 | 32768 | 1 | | (256)[4 8]| 8 e-02 | 6.250000, 3.902460 e 03 | | 1 | 28672 | 1 | | (256) [4 8] | 7 e-02 | 6.250000, 7.811287 e 03 | | 2 | 24576 | 1 | 256年[16]| 8 [4]| 6 | 6.250000 e-02,1.561990 e-02 | | 3 | 16384 | 1 | | (128) [4 7] | 8 e-02 | 6.250000, 6.242016 e-02 | | 4 | 14336 | 1 | | (128) [4 7] | 7 e-02 | 6.250000, 5.707978 e-02 | | 12288 | | 1 | 128年[16]| 7 [4]| 6 | 6.250000 e-02 5.870371 e-02 | | 6 | 10240 | 0 | | (128) [4 7] | 5 | 6.250000 e-02 8.585766 e-02 | | 8192 | | 0 | | (128) [4 7] | 4 | 6.250000 e-02,1.020576e-01 | Best Solution | ID | Memory (bits) | Feasible | Table Size | Intermediate WLs | TableData WL | Error(Max,Current) | | 5 | 12288 | 1 | [16 128] | [4 7] | 6 | 6.25000e -02, 5.870371e-02 | Solution = 1x1 FunctionApproximation。luttsolution属性:ID: 5可行:“true”
使用比较
方法将原函数的输出与近似函数进行比较。
比较(解决方案);
使用近似
生成包含生成的直接查找表的Simulink金宝app™子系统的方法。
近似(解决方案)
这个例子展示了如何使用直接查找表来近似Simulink™子系统。金宝app
打开包含子系统的模型进行近似。
functiontoproximate ='ex_direct_approximation / mathexpression';open_system (“ex_direct_approximation”);
要生成直接查找表,请将插值方法设置为没有一个
.
问题= functionApproximation.Problus(functionto申请);problem.Options.Interpolation =“没有”;problem.Options.RelTol = 0;problem.Options.AbsTol = 0.2;problem. options . wordlength = [7 8 9 16];解决方案=解决(问题);
| | ID内存(位)| |可行的表大小|中间WLs | TableData西城|错误(Max、电流)| | 0 | 2097152 | 1 | 65536 | 16 | 32 | 2.000000 e-01 0.000000 e + 00 | | 896 | | 0 | 128 | 7 | 7 e-01 | 2.000000, 2.265625 e + 00 | | 1024 | | 0 | 128 | 7 | 8 e-01 | 2.000000, 2.265625 e + 00 | | 3 | 1152 | 0 | 128 | 7 | 9 | 2.000000 e-01,2.265625 e + 00 | | 4 | 2048 | 0 | 128 | 7 | 16 | 2.000000 e-01, 2.267090 e + 00 |最佳解决方案| | ID内存(位)| |可行的表大小中间WLs | | TableData西城|错误(Max、电流)| | 0 | 2097152 | 65536 | | 16 | 32 | 2.000000 e-01 0.000000 e + 00 |
将原始子系统行为与查找表近似进行比较。
比较(解决方案);
生成一个包含查找表近似值的新子系统。
近似(解决方案);
用包含查找表近似的新子系统替换原始子系统。
replaceWithApproximate(解决方案);
您可以使用返回模型将模型恢复到原始状态revertToOriginal
功能。此功能将原始子系统返回到模型中。
revertToOriginal(解决方案);