Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB > Interfaces Graphiques
Interfaces Graphiques Forum d'entraide sur les interfaces graphiques en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2012, 01h05   #1
Invité régulier
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 6
Points : 6
Par défaut probleme de Gui sur matlab

Bonjour,

Je travaille sur un GUI sur MATLAB, toutes mes variables sont déclarées globales, j'ai créé environ 10 champs editText que je convertis avec str2num, et un pushbutton.
Je veux que l'utilisateur entre certaines valeurs dans les editText, et puis quand il clique sur le pushbutton, une série de calculs prenne en considération toutes les variables des champs.
Le problème c'est que quand je termine l'écriture de mes codes, lorsque j'entre certaines variables ça marche mais pour d'autres ça ne fonctionne pas, et il prend des valeurs par défaut.
yashiromah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 01h35   #2
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 824
Points : 6 824
Bonjour,

À quel moment récupères-tu les valeurs rentrées?
As-tu pensé à prélever toutes tes valeurs depuis tes Edit?
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 00h01   #3
Invité régulier
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 6
Points : 6
Je vais vous donner un exemple du problème: le GUI que j'ai créé est en image en pièce jointe.
J'ai une série d'Edit que l'utilisateur doit remplir par des valeurs (voir image).
j'extrait mes valeurs par l'instruction suivante:
Code :
1
2
3
a = str2double(get(handles.EditeTexte1,'string'));
handles.a1=a; % pour utiliser cette variable dans d'autre Callback
guidata(hObject, handles);
J'ai appliqué cet instruction pour tous les autres editText. Puis dans le Callback où j'ai une série de fonctions (il s'agit de fonctions de la Neural Networks Toolbox) auxquelles je dois leur attribuer ces valeurs je fais l'instruction suivante:
Code :
1
2
a11=handles.a1;
net=feedforwardnet(a11,'trainlm');
Pour certaines valeurs ça marche bien mais pour les autres non, pas de changement et la fonction prend ses valeurs par défaut.
Ce problème est relatif pour certaines variables et fonctions.
J'ai aussi utilisé global mais ça ne marche toujours pas.
Si vous voulez le code en entier je peux vous l'envoyer sur votre boite.

merci
Images attachées
Type de fichier : jpg GUI.jpg (151,7 Ko, 6 affichages)
yashiromah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 00h04   #4
Invité régulier
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 6
Points : 6
Une autre chose: ce n'est que lorsque je reconstruis mon GUI à nouveau et le teste pas à pas: si je commence par les variables qui n'ont pas bien marché, cela fonctionne bien, mais quand j"augmente les editText le problème reviens.
yashiromah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 00h34   #5
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 824
Points : 6 824
Le code que tu utilises pour faire passer tes variables saisies est correct.
À quoi vois-tu que les fonctions prennent des valeurs par défaut? Tu obtiens des messages (warnings, ...)?
Les valeurs que tu rentres sont-elles "correctes" pour les fonctions?
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 21h23   #6
Invité régulier
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 6
Points : 6
Oui les valeurs sont correctes,
les valeurs que j'ai mises dans les editText sont les valeurs que les fonctions prennent par défaut (selon la documentation de MATLAB).
Je crois que ça serait bien que vous vérifiez les codes et je vais donner un détail des valeurs qui doivent être tapées, pour ne pas avoir de problème.

Les codes sont développés sous MATLAB 2011, donc je pense que la fonction net=feedforwardnet ne marchera pas sous d'autres versions de MATLAB.

Voici les fichiers
Fichiers attachés
Type de fichier : rar problem.rar (287,2 Ko, 2 affichages)
yashiromah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 01h47   #7
Invité régulier
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 6
Points : 6
Par défaut resolu

bonjour,
je vous remercie pour votre effort,
j ai pu savoir resoudre mon probleme, le GUI marche mtn tres bien

merci
yashiromah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 00h05   #8
Invité régulier
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 6
Points : 6
Pour la solution de mon problème, en fait, si je veux récupérer mes variables des editText je dois les récupérer dans mon Pushbuton et non pas dans le Callback de l'editText,
Donc les Callback des editText dans le code ne doivent contenir aucune expression.

Exemple:
Code :
1
2
function NeuronsTxt_Callback(hObject, eventdata, handles)
% je met rien dans ce Callback
Mais quand je veux récupérer la valeur de ce Callback et faire mes calcul quand je clique sur un Pushbutton:
Code :
1
2
3
4
5
6
function SimulatePb_Callback(hObject, eventdata, handles)
% hObject    handle to SimulatePb (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global net, global Input, global Target
Neurons = str2double(get(handles.NeuronsTxt,'string'));
et après je fais mes calculs sans aucun problème
yashiromah est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h42.


 
 
 
 
Partenaires

Hébergement Web