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!