主要内容

使用直接查找表的近似函数

使用查找表优化器,您可以生成一个类似于Simulink的直接查找表万博1manbetx®块或函数。在硬件上实现直接查找表非常有效,因为它们不需要任何计算。

生成一个二维直接查找表近似

创建一个FunctionApproximation。问题对象,指定要为其生成近似值的函数。若要生成直接查找表,请将插值方法设置为没有一个FunctionApproximation。选项对象

问题=功能近似。问题(“量化”);问题。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的方法™ 包含生成的直万博1manbetx接查找表的子系统。

近似(解)

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

这个例子展示了如何使用直接查找表来近似Simulink™子系统。万博1manbetx

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

功能接近=“ex_直接_近似/MathExpression”;open_system (“ex_direct_approximation”);

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

problem=FunctionApproximation.problem(functionToApproximate);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(解决方案);