Function 'daysact' not supported for code generation.

7 views (last 30 days)
I am using this simple code inside a user defined Matlab function in SIMULINK
NumDays = daysact('20-March','21-March');
But it shows error that "Function 'daysact' not supported for code generation."

Accepted Answer

Walter Roberson
Walter Roberson on 14 Jan 2021
Correct. That function cannot be compiled.
The work-around is to use datetime and subtract.
dt1 = datetime('7-sep-2002','Locale','en_US')
dt1 = datetime
dt2 = datetime('25-dec-2002','Locale','en_US')
dt2 = datetime
NumDays = daysact(dt1, dt2) %what you cannot generate code for
NumDays = 109
NumDays2 = days(dt2-dt1) %replacement function
NumDays2 = 109

More Answers (1)

Sean de Wolski
Sean de Wolski on 14 Jan 2021
You should use the newer and recommended datetime / duration classes which support c-codegen:
d = days(datetime(t1)-datetime(t2));

Community Treasure Hunt

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

Start Hunting!