lookup table optimizer claims function has states, but has non
2 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Arnav
on 16 Sep 2024
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 Comments
See Also
Categories
Find more on Approximate Functions with Lookup Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!