Why is the Matlab R2015a Coder not able to generate code from resample function - but Matlab 2016b Coder is?

1 回表示 (過去 30 日間)
Hi everybody, I try to generate C++ Code from my function but I cant use the resample function (it always ends with err "coder.const could not reduce this expression to a constant: Time out exceeded.") although I declare each input as a constant and i have licensed the USP System Toolbox ( license checkout signal_blocks == true). Also I ran the same code with the Matlab 2016b Coder and generated my C++ Code without any problem. So where is the difference? Best regards
My code looks like this:
Q=1000000;
% P=floor(Resampling_Faktor*Q); % floor: rounds to the nearest integer
P = 500000; % for testing
Input=1:0.1:20; % for testing
Input = resample(Input,P,Q,5,20);

採用された回答

Venkata Siva Krishna Madala
Venkata Siva Krishna Madala 2018 年 3 月 20 日
Hello Daniel,
Try to increase Constant Folding Timeout value.This can be done in two ways:
1. At the command line, create a configuration object for code generation. Set the property ConstantFoldingTimeout to the value that you want, like 400000:
c = coder.confi;
c.ConstantFoldingTimeout = 4e5;
2. In the Project Settings dialog box, on the All Settings tab, set the field Constant folding timeout to the value that you want.
Regards,
Krishna Madala

その他の回答 (1 件)

Daniel Burger
Daniel Burger 2018 年 3 月 20 日
編集済み: Daniel Burger 2018 年 3 月 20 日
Dear Krishna, thanks for your advice. So do you mean that the failing code generation doesnt depend on my MATLAB version but instead on the system? Since I used two differend machines with different performance to run both MATLAB versions i mentioned above and therefore on the slower machine the time ran out before code generation was successful?
Regards, Daniel

カテゴリ

Help Center および File ExchangeMATLAB Coder についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by