Coder Cannot define entrypoint for classdef

13 views (last 30 days)
Im currently testing the matlab coder, sins we are looking to move our matlab projects into C for performance and integrating with a larger system. Most of our current codebase uses classdef's below is a simple example of what we are using.
classdef MeanAgent < handle
properties
d_Vec
sName
dEMA
end
methods
function this = MeanAgent( sName )
this.sName = sName;
this.dEMA = 0;
this.d_Vec = [];
end
function m = MeanOfNothing(this,dVal)
this.d_Vec = [this.d_Vec dVal];
m = mean(this.d_Vec);
end
end
end
When trying to generate code using the Coder, i get either stuck when asked to define input types, not being able to press next.
or im presented with the error:
matlab All entry-point files must be functions. MeanAgent.m is a class.
if i select "determin imputtype from codeprecondition.
Is the conversion just not possible, or how does the coder support classdef, i havnt managed to find this in any of your examples.

Accepted Answer

Arnab De
Arnab De on 20 Nov 2015
The entry point to MATLAB Coder must be a function. MATLAB classes are not supported as entry points. You can define a function that uses the MATLAB class and use it as an entry point.
  1 Comment
Peter B
Peter B on 20 Nov 2015
Thanks for the reply, I managed to work around the issue using structs as input in conjunction with reentrant functions, keeping the number of parameters for my functions to a minimum.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Coder in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!