Bonjour à tous,
Je suis actuellement sur un projet sur lequel je suis amenée à traiter un grand nombre de tableaux de structures (‘structure array’) ayant des noms différents et sur lesquelles il faut appliquer des fonctions spécifiques qui vont les modifier.
Etant donné leur très grand nombre, je voudrais insérer l’appel des fonctions dans une grande boucle for que je pourrais par la suite paralléliser.
L’idée que j’ai eue serait de mettre lors de leur création dans chaque structure un champ « fonction », qui soit un lien vers sa fonction spécifique, du type
Ensuite je voudrais appeler dans une grande boucle tous mes traitements, avec un appel du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part StructurA.fonction = @mafonction ;
Le problème est que cette architecture ne marche pas, car comme StructTemp devient une concaténation de copies de mes structures, plutôt que de pointer vers chaque structure l’une après l’autre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for StrucTemp = [StrucA StrucB StrucZ] [StructTemp.fonction]; end
Du coup les structures que je modifie ne sont pas celles d’origine. Or j’en ai encore besoin par la suite de mes structures modifiées et je dois encore être capable de les appeler individuellement.
Quelqu’un aurait-il une idée ? Comment indiquer que StuctTemp vaut une structure, puis l’autre, puis l’autre ?
NB : je travaille sur Windows, avec Matlab 2008a.
Merci !!!!
Partager