What are the limitation on arrays of objects with MATLAB coder?

조회 수: 2 (최근 30일)
Byron Caudle
Byron Caudle 2017년 12월 4일
편집: Walter Roberson 2020년 3월 17일
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?

답변 (1개)

Denis Gurchenkov
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.

카테고리

Help CenterFile Exchange에서 MATLAB Coder에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by