IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Calcul simple matlab


Sujet :

Interfaces Graphiques

  1. #1
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Calcul simple matlab
    J'ai sur ma forme un button de type pushbutton , 1 edit et un static text.


    Je veux stoquer le nombre 100 dans l'edit1 , puis prelever la valeur stoque en edit1 avec get et afficher dans le static text le numero multiplie par 10 (en ce cas 1000).(tout ca quand j'appuie le button pushbutton). Il ne me stoque que la valeur 100 precise par moi en edit, malheuresement la valeur 1000 n'est mise automatiquement quand je presse pushbutton dans le static text object.




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    % --- Executes on button press in pushbutton1.
    function pushbutton1_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    contor=100; %initialisation de variable globale contor avec 100 dans l'edit1
    set(handles.edit1,'string',100); %mettre en edit1 la valeur 100
    a=get(handles.edit1,'string',100); %je veux prelever la valeur stoque en edit1
    convertir = str2num(a); %conversion du string en nombre dans la variable %convertir avant l'operation
    b=a*10; %operation de multiplication par 10 du nombre 100 stoque en variable b
    set(handles.text1,'String',b) %m'afficher dans le static text le nombre 1000 le resultat du calcul 10*100 -ca ne marche plus:(

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Relis bien ton code ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    convertir = str2num(a); %conversion du string en nombre dans la variable %convertir avant l'operation
    b=a*10; %operation de multiplication par 10 du nombre 100 stoque en variable b
    Tu ne vois rien qui cloche ?

  3. #3
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    2eme question:

    Et puis je veux stoquer un nombre random en edit1 comprise entre 80 et 90 quand j'appuie pushbutton(pas le nombre 100) un nombre random comprise entre 80 et 90 si c;est possible en matlab (rand permet la generation des nombre randoms entre 0 et 1).

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Essaye ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    contor=80; %initialisation de variable globale contor avec 80 dans l'edit1
    set(handles.edit1,'string',sprintf('%g %%', contor)); %mettre en edit1 la valeur 80 %
    Bonne journée,
    Duf

  5. #5
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Citation Envoyé par duf42 Voir le message
    Bonjour,

    Essaye ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    contor=80; %initialisation de variable globale contor avec 80 dans l'edit1
    set(handles.edit1,'string',sprintf('%g %%', contor)); %mettre en edit1 la valeur 80 %
    Bonne journée,
    Duf

    Une autre question c'est comment je stoque en edit le pourcentage 80% a partir de ce code? (ceci marche mais il stoque la valeur 80 je veux qu'il stoque 80% dans edit1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    % --- Executes on button press in pushbutton1.
    function pushbutton1_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    contor=80; %initialisation de variable globale contor avec 80 dans l'edit1
    set(handles.edit1,'string',80); %mettre en edit1 la valeur 80
    C;est pour le pourcentage j'ai modifie duf comme tu as dit et ca marche. Il me stoque dans l'edit 80%.

    Quoi je dois faire si je veux stoquer un nombre en edit1 random comprise entre 80 et 90%?

    Est il possible de faire ca?

    S'il n'est pas possible quelle condition je dois mettre pour me stoquer en edit1 quand je press pushbutton un nombre comprise entre 80 et 90?

  6. #6
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    Relis bine ton code ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    convertir = str2num(a); %conversion du string en nombre dans la variable %convertir avant l'operation
    b=a*10; %operation de multiplication par 10 du nombre 100 stoque en variable b
    Tu ne vois rien qui cloche ?
    Si tu peux donner des details je ne me suis pas rendu compte

  7. #7
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    a est un objet chaine de caractères.
    Tu as fait la conversion à la 1ère ligne pourquoi ne t'en sers-tu pas ?

    Pour générer un nombre aléatoire entre 80 et 90 tout est expliqué dans l'aide de RAND dans la section Examples, et même sans cela il s'agit tout simplement d'un calcul pour transformer des chiffres entre 0 et 1 en des chiffres entre 80 et 90.

  8. #8
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    a est un objet chaine de caractères.
    Tu as fait la conversion à la 1ère ligne pourquoi ne t'en sers-tu pas ?

    Pour générer un nombre aléatoire entre 80 et 90 tout est expliqué dans l'aide de RAND dans la section Examples, et même sans cela il s'agit tout simplement d'un calcul pour transformer des chiffres entre 0 et 1 en des chiffres entre 80 et 90.
    Il s'agit de ca? S'il te plait un petit exemple a partir de mon code pour bien entendre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    convertir = str2num(a); %conversion du string en nombre dans la variable %convertir avant l'operation
    b=a*10; %operation de multiplication par 10 du nombre 100 stoque en variable b
    set(handles.text1,'String',str2num(a),b) %m'afficher dans le static text le nombre 1000 le resultat du calcul 10*100 -ca ne marche plus:(

  9. #9
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Bon...
    a est une chaine de caractères qui vaut '100' (dans ton cas)
    convertir comme tu l'indiques dans ton commentaire est la conversion de a en nombre qui vaut 100.
    Donc pour obtenir b tu dois faire l'opération avec la variable convertir.

    Essaye ceci dans MATLAB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a='100';
    b=a*10
    convertir=100;
    b=convertir*10
    Je peux te faire ton code mais ça ne servira à rien, il faut que tu comprennes ce que tu fais.
    Si tu ne fais que copier-coller, tu ne progresseras jamais.

  10. #10
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    Bon...
    a est une chaine de caractères qui vaut '100' (dans ton cas)
    convertir comme tu l'indiques dans ton commentaire est la conversion de a en nombre qui vaut 100.
    Donc pour obtenir b tu dois faire l'opération avec la variable convertir.

    Essaye ceci dans MATLAB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a='100';
    b=a*10
    convertir=100;
    b=convertir*10
    Je peux te faire ton code mais ça ne servira à rien, il faut que tu comprennes ce que tu fais.
    Si tu ne fais que copier-coller, tu ne progresseras jamais.
    Ok. Tu pouvais me dire ca(d'utiliser ce variable) sans l'ironie. Je veux entendre ce que j'ai fais c'est pour cela que j'ai mis des commentaires. Si tu ne veux pas m'aider dis moi.




    Maintenant ca marche!

    Merci a tous!

    Je marque comme resolu!

  11. #11
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Gerer des valeurs random
    Citation Envoyé par mihaispr Voir le message
    Ok. Tu pouvais me dire ca(d'utiliser ce variable) sans l'ironie. Je veux entendre ce que j'ai fais c'est pour cela que j'ai mis des commentaires. Si tu ne veux pas m'aider dis moi.




    Maintenant ca marche!

    Merci a tous!

    Je marque comme resolu!
    J'ai trouve un exemple ici pour generer 5valeur randoms comprise dans un interval.

    Mais je ne sais pas comment l'utiliser avec nombreuses edits.



    Example 5


    Generate a uniform distribution of random numbers on a specified interval [a,b]. To do this, multiply the output of rand by (b-a), then add a. For example, to generate a 5-by-5 array of uniformly distributed random numbers on the interval [10,50],
    a = 10; b = 50;
    x = a + (b-a) * rand(5)
    x =

    18.1106 10.6110 26.7460 43.5247 30.1125
    17.9489 39.8714 43.8489 10.7856 38.3789
    34.1517 27.8039 31.0061 37.2511 27.1557
    20.8875 47.2726 18.1059 25.1792 22.1847
    17.9526 28.6398 36.8855 43.2718 17.5861

    Je me concentrerais de faire cela tout seul.

    Merci Caroline!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/01/2008, 10h09
  2. [Débutant] Calcul simple
    Par Kstark dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/02/2007, 09h51
  3. un calcul simple (3*2.6)
    Par /* jerome */ dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/07/2006, 10h05
  4. Réponses: 10
    Dernier message: 21/11/2005, 23h05
  5. Calcul simple pour code couleur
    Par Boumeur dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 16/04/2005, 10h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo