主要内容

具有直接查找表的近似函数

使用查找表优化器,您可以生成近似模拟链接的直接查找表金宝app®块或函数。直接查找表效率为硬件实现,因为它们不需要任何计算。

生成二维直接查找表近似

创建一个functionApproximation.Problus.指定生成近似函数的对象。要生成直接查找表,请将插值方法设置为没有任何在里面functionApproximation.ptions.目的。

问题= functionApproximation.Problus('atan2');问题.Inputtypes = [numerictype(0,4,2)Numerictype(0,8,4)];问题.outputtype = fixdt(0,8,7);问题.Options.interpolation =.“没有任何”;问题.Options.abstol = 2 ^ -4;问题.Options.Reltol = 0;问题.Options.WordLengths = 1:8;

使用解决生成最佳查找表的方法。

解决方案=解决(问题)
|ID |记忆(位)|可行的表尺寸|中间WLS |tabledata wl |错误(最多,当前)||0 | 32768 | 1 | [16 256] | [4 8] | 8 | 6.250000e-02, 3.902460e-03 | | 1 | 28672 | 1 | [16 256] | [4 8] | 7 | 6.250000e-02, 7.811287e-03 | | 2 | 24576 | 1 | [16 256] | [4 8] | 6 | 6.250000e-02, 1.561990e-02 | | 3 | 16384 | 1 | [16 128] | [4 7] | 8 | 6.250000e-02, 6.242016e-02 | | 4 | 14336 | 1 | [16 128] | [4 7] | 7 | 6.250000e-02, 5.707978e-02 | | 5 | 12288 | 1 | [16 128] | [4 7] | 6 | 6.250000e-02, 5.870371e-02 | | 6 | 10240 | 0 | [16 128] | [4 7] | 5 | 6.250000e-02, 8.585766e-02 | | 7 | 8192 | 0 | [16 128] | [4 7] | 4 | 6.250000e-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.250000e-02, 5.870371e-02 | solution = 1x1 FunctionApproximation.LUTSolution with properties: ID: 5 Feasible: "true"

使用比较用于比较原始功能的输出和近似的方法。

比较(解决方案);

使用近似生成包含生成的直接查找表的Simulink金宝app™子系统的方法。

近似(解决方案)

为子系统生成直接查找表近似

此示例显示了如何用直接查找表近似于Simulink™子系统。金宝app

打开包含子系统的模型以近似。

functiontoproximate ='ex_direct_approximation / mathexpression';Open_System('ex_direct_approximation');

要生成直接查找表,请将插值方法设置为没有任何

问题= functionApproximation.Problus(functionto申请);问题.Options.interpolation =.'没有任何';问题.Options.Reltol = 0;问题.Options.abstol = 0.2;问题.Options.WordLengths = [7 8 9 16];解决方案=解决(问题);
|ID |记忆(位)|可行的表尺寸|中间WLS |tabledata wl |错误(最多,当前)||0 | 2097152 | 1 | 65536 | 16 | 32 | 2.000000e-01, 0.000000e+00 | | 1 | 896 | 0 | 128 | 7 | 7 | 2.000000e-01, 2.265625e+00 | | 2 | 1024 | 0 | 128 | 7 | 8 | 2.000000e-01, 2.265625e+00 | | 3 | 1152 | 0 | 128 | 7 | 9 | 2.000000e-01, 2.265625e+00 | | 4 | 2048 | 0 | 128 | 7 | 16 | 2.000000e-01, 2.267090e+00 | Best Solution | ID | Memory (bits) | Feasible | Table Size | Intermediate WLs | TableData WL | Error(Max,Current) | | 0 | 2097152 | 1 | 65536 | 16 | 32 | 2.000000e-01, 0.000000e+00 |

将原始子系统行为与查找表近似进行比较。

比较(解决方案);

生成包含查找表近似的新子系统。

近似(解决方案);

用包含查找表近似的新子系统替换原始子系统。

替换(解决方案);

您可以使用返回模型将模型恢复到原始状态Reftertoriginal.功能。此功能将原始子系统返回到模型中。

Reftertoriginal(解决方案);