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

9 visualizaciones (últimos 30 días)
Byron Caudle
Byron Caudle el 4 de Dic. de 2017
Editada: Walter Roberson el 17 de Mzo. de 2020
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?

Respuestas (1)

Denis Gurchenkov
Denis Gurchenkov el 22 de Feb. de 2018
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.

Categorías

Más información sobre MATLAB Coder en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by