J'ai commencé un code où je dois générer beaucoup d'instances d'une classe donnée. Je veux les enregistrer dans un tableau comme je le ferais en python.Comment puis-je générer des instances d'une classe dans Matlab et les enregistrer dans un tableau?
C'est ce que je veux faire:
object_list = [];
for i=1:100
my_object = MyClass(i)
object_list(i) = my_object
end
En Python Cela fonctionne parce que je peux ajouter ce que je veux à ma liste. Comment dois-je faire cela dans Matlab?
/L'erreur est obtenir est la suivante: "La conversion en double de MyClass n'est pas possible." Je suppose que le tableau Matlab se comporte différemment d'une liste python générique, et qu'il doit contenir des doubles./
Vous pouvez également ajouter MATLAB, mais l'ajout n'est pas vraiment une bonne idée. Une meilleure approche consiste à pré-allouer à la longueur attendue. Pour votre cas, vous auriez besoin d'un tableau de cellules. Initialisez donc un tableau de cellules de taille attendue, c'est-à-dire 'object_list = cell (1,100)' et remplacez 'object_list (i)' par 'object_list {i}' c'est-à-dire par accolades. La raison de faire ce changement est exactement ce que le message d'erreur suggère. (Évitez également d'utiliser 'i' (et' j') comme noms de variables car ils représentent des nombres imaginaires par défaut) –