Tableau struct : "structs must have same fields up to order"
Bonjour,
J'ai l'habitude de travailler sur Scilab mais cette fois je suis amené à travailler sur Matlab (en réalité Octave).
J'ai vu des dizaines de questions sur les structures sur le forum, mais je n'ai pas réussi à trouver la réponse à ma question.
Voilà mon problème sur l'exemple le plus simple possible:
Code:
1 2 3 4 5
| a(1)=struct('u',ones(5,1),'v',ones(5,1)) : cette ligne fonctionne
b=struct('u',ones(5,1),'v',ones(5,1),'w',ones(5,1)) : cette ligne fonctionne
a(1)=struct('u',ones(5,1),'v',ones(5,1),'w',ones(5,1)) : cette ligne ne fonctionne pas. |
Voilà l'erreur:
Code:
1 2 3 4
| error: orderfields: structs must have same fields up to order
error: incompatible fields in struct assignment
error: assignment to structure element failed
error: assignment failed, or no method for 'struct = scalar struct' |
J'ai jamais eu ce problème sur Scilab, je n'arrive pas à voir quel peut être le problème. En pratique je pourrais contourner le problème en faisant:
Code:
1 2 3
| a(1).u=ones(5,1)
a(1).v=ones(5,1)
a(1).w=ones(5,1) |
Et maintenant cela fonctionne.. Mais dans mon programme j'ai besoin d'appeler chaque objet du tableau dans une fonction et je retrouve à chaque fois le même problème...
J'espère que ma question n'est pas trop débile.
Merci d'avance.
Cordialement,
Hugo