Bonjour,
J'essaie de tester avec une boucle if, si dans ma structure cleanDATA(St) par exemple, il existe un champ ‘d15B’ ([test{param},oeil{o}]). Pour faire ça, j’utilise la fonction isfield qui doit renvoyer à une réponse logique 0 (ça n’existe pas) / 1 (ça existe). Dans le help, j’ai lu que cette fonction renvoie également 0 lorsque le champ existe et qu’il est vide.
Mon but est de générer un champ si celui-ci n’existe pas, j’en crée un dans la boucle avec juste un NaN dedans (pour qu’il ne soit pas vide - juste pour tester). Voici ma boucle :
Mon if renvoie systématique un 1, même quand le champ existe. Est-ce que c’est parce qu’il y a un eval?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if eval([ 'isfield(cleanDATA(St),','''[test{param},oeil{o}]''',') == 0' ]) % si ca nexiste pas eval([ cleanDATA(St).',[test{param},oeil{o}] '= [NaN];' ]) % crée le field avec un NaN end
Je sais qu'il ne faut pas trop utiliser eval mais j'ai 3x6 conditions à générer dans plusieurs structures pour répartir mes données, du coup c'est le meilleur moyen que j'ai trouvé pour faire ça...
Vous avez une idée?
Merci d'avance pour votre aide =)
Partager