What are the limitation on arrays of objects with MATLAB coder?
2 次查看(过去 30 天)
显示 更早的评论
I read on the support page https://www.mathworks.com/help/simulink/ug/how-working-with-matlab-classes-is-different-for-code-generation.html that Arrays of Objects are not supported. Do this mean that I can't have a class with a property that is an array of objects (of another class)? Or does is mean that I can't have arrays of objects at all (not even in my main function)? I am thinking there must be some limited arrays of objects support, otherwise code generation from OO code would be pretty useless.
How does this limitation work with the Java coder?
0 个评论
回答(1 个)
Denis Gurchenkov
2018-2-22
The later is correct. As of R2017b, MATLAB Coder does not support arrays of objects, so if your MATLAB code creates an array of objects, such as
x = [MyClass(1), MyClass(2)];
or
x = repmat(MyClass(1), [3 4]);
then code generation will fail with an error message (presuming that there is a class MyClass in your code).
The only workaround as of now is to use cell arrays of objects, that is,
x = {MyClass(1), MyClass(2)};
should compile fine.
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!