Appeler une structure via une variable
Bonjour,
j'ai plusieurs structures dans mon programme. Et je voudrais en appeler une selon la variable.
La code est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| clear all
close all
clc
toto.a = [1 2 3 4 5];
toto.b = [6 7 8];
classes = fieldnames(toto);
a = fonction_a(max(size(toto.a)));
b = fonction_b(max(size(toto.b)));
j = 1;
while isempty(find(getfield(toto,char(classes(j)))==1))==1
j = j+1;
end
getfield(toto,char(classes(j))) |
Précisions:
-"toto" est une structure composée de "toto.a" et de "toto.b"
-"a" est une structure qui n'a rien à voir avec le "a" de "toto.a" composée de "a.c" et de "a.d"
-"b" est une structure qui n'a rien à voir avec le "b" de "toto.b" composée de "b.c" et de "b.d"
Ce que je veux faire:
J'utilise la condition du "while" pour trouver qui de toto.a ou de toto.b contient un "1" dans son vecteur et j'en retire alors "a" ou "b" qui sont de type "cell". Ensuite, je voudrais appeler la structure "a" ou la structure "b" selon la réponse. Pratiquement, c'est "a.d" ou "b.d" que je voudrais appeler.
Est-ce possible de faire cela?