lookup table optimizer claims function has states, but has non
2 次查看(过去 30 天)
显示 更早的评论
Hi everybody,
I try to use the loopup table optimizer for a function within a simulink block intended for hdl code generation.
the function is:
function T = fcn(input)
A=1.6157254;
B=-1.086193e+05;
C = 1.98e-25;
D=1.38e-23;
T=(C/(D*(log(input)-A)))*B;
the message I get is "the function to be optimized needs to be stateless"
any idea why i get this message and how to solve it?
Fabian
0 个评论
回答(1 个)
Arnav
2024-9-16
I understand that you are using Lookup Table Optimizer to optimize the function written in a MATLAB Function Block in Simulink for HDL Code generation. I was able to reproduce the error using the function you provided. The error dialog I received is shown below:
Since the function is already time invariant and stateless, this suggests that the error is due to operations * and / and these need to be converted into element-wise operations.
To convert * and / operations into element-wise operations, you can change the last line to:
T=(C./(D.*(log(input)-A))).*B;
I hope this might be helpful in resolving your query.
You may refer the following documentation link for more information about Lookup Table Optimizer:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Approximate Functions with Lookup Tables 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!