New class object every iteration

8 visualizaciones (últimos 30 días)
Miroslav Jiránek
Miroslav Jiránek el 2 de Mayo de 2020
Respondida: per isakson el 2 de Mayo de 2020
Hello. I'm trying to create new class object in every single iteration. I've founded a lot of topics how to do this with matrixes, cell arrays and many other elements, but not with object class. The idea is to creeate something like this
for i = 1:1:10
new_obj_{i}=class_name
end
after end of the for cycle, there should be 10 objects of class_name, named: new_obj_1, new_obj_2, new_obj_3 and so on..
Is there any way how to do it?

Respuesta aceptada

per isakson
per isakson el 2 de Mayo de 2020
In most cases it's better to create an array of objects. The documentations provides one way. See Construct Object Arrays. What are the pro and cons in your case?

Más respuestas (1)

Ameer Hamza
Ameer Hamza el 2 de Mayo de 2020
Do you want to create your variable named dynamically like new_obj_1, new_obj_2, ...? This is not a recommended practice. Read here in detail: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval. It is much better to use a simple array or a cell array as you are doing right now.
You can also create an array with for-loop like this
new_obj_ = repmat(class_name, 1, 10)

Categorías

Más información sobre Construct and Work with Object Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by