Bonjour,
Je suis en train de travailler sur un projet d'informatique sous MATLAB qui consiste à tracer un arbre avec la méthode des L-sytems. J'ai des fonctions qui fonctionnent très bien quand je les utilise avec les lignes de commandes. Mais quand je dois lier ces fonctions à mon interface, j'ai des problèmes. A noter que je suis vraiment débutant sur MATLAB (d'ailleurs je ne suis pas vraiment spécialiste d'autres langages de programmation non plus) et que c'est ma première interface sous ce langage
Pour le tracé, j'ai besoin de variables définies par l'utilisateur sur l'interface (tout est dans une même fenêtre) : dans des RadioGroup ou des zones de saisie. Quand j'appuie sur le bouton lancer, je lance une fonction avec (...,'callback', @fonct_callback). Cette fonction se charge de récupérer les infos grâce à des variables globales (avec des 'Selected Object' pour les radios group par exemple), les convertit en nombre comme il est nécessaire pour mes fonctions et je les utilise dans mes fonctions (il y en a 2 : une pour faire évoluer la string, l'autre pour tracer).
J'ai 2 problèmes :
- je reçois ce message d'erreur :
d'après ce que j'ai compris ça veut dire qu'il y a des variables non scalaires utilisées dans un code de comparaison && (pour un if/elseif). Pourtant je ne comprends vraiment pas pourquoi il y a ce problème car ce sont normalement des scalaires ! Voila une partie de mon code :Operands to the || and && operators must be convertible to logical scalar values.
(saisons est le radiogroup concerné) et après je mets saison dans les fonctions et il y a une condition logique contenant 2 variables (ex : il faut que saison et vent soit égaux à 1 et 2 respectivement pour ça) avec && ! je comprends pas où est le problème saison doit etre un nombre là !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 bouton_saison_choisie=get(saisons,'SelectedObject'); saison_choisie=get(bouton_saison_choisie,'Tag'); switch saison_choisie case 'hiver' saison =1;
- quand je clique sur le bouton lancer ça ne marche pas (hors erreur précédente), je pense identifier le problème je ne lui dis pas où tracer il faudrait que j'ouvre une nouvelle fenêtre et le trace là mais déjà je ne sais pas comment créer directement une nouvelle fenêtre et surtout que ma fonction tracer n'est pas un simple plot !
Si vous pouviez m'aider, je vous en serais très reconnaissant car cela fait plusieurs jours que je galère sur ces 2 problèmes (malgré mes recherches je n'arrive pas à les résoudre) !
Merci d'avance.




Répondre avec citation

!
Partager