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 :

edit_callback


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut edit_callback
    Salut,
    j'ai rencontré un problème lors d'un programme de calcul que je fait c'est que je voulais remplir une matrice à l'aide du champ 'edit_callback',
    voila le code que j'utilise mais ça remplit toutes les valeurs de la matrice de la même valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function edit3_Callback(hObject, eventdata, handles)
    % hObject    handle to edit3 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Hints: get(hObject,'String') returns contents of edit3 as text
    %        str2double(get(hObject,'String')) returns contents of edit3 as a double
    load n;
    load ('p.mat');
            pm = get(handles.edit3,'string');
            pm = str2double(pm);
    for i=1:n
        for j=1:n
            p(i,j)=pm;
        end 
    end
    p
    guidata(hObject, handles);

  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
    En fait l'utilisation du Callback des edit est déconseillée.

    D'abord explication de ce que fais ton code :
    Il s'active lorsque tu as été dans l'objet de tag edit3 et que tu en sors.
    Il récupère alors la valeur qu'il y a dans cet edit et la met dans tous les éléments de p.

    Je ne vois pas comment ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i=1:n
        for j=1:n
            p(i,j)=pm;
        end 
    end
    pourrait attribuer des valeurs puisque pm ne bouge pas.


    Du coup il nous manque des informations puisqu'on ne sait pas très bien ce que tu veux mettre dans ta matrice.
    D'où viennent les données ?

    Si tu as plusieurs edit, le mieux est encore d'avoir un bouton où l'utilisateur cliquera pour remplir la matrice.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut
    bon je veut remplir une matrice par des valeurs entre 0 et 1, une matrice d'ordre n que nous avons précisé au début du programme.

    le but est de le faire séparément commençant par: p(1,1),p(1,2),p(1,3) p(2,1),.....

  4. #4
    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
    Va falloir préciser...
    Qui rentre ces valeurs ? Où ? Comment ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut
    l'interface graphique est comme ceci:



    on précise l'ordre de la matrice dans le premier champs et puis les valeurs des p(yi/xi) dans le deuxième champs, comme ça on remplacera les valeurs première donnée en 'random' à la matrice 'p' par les nouvelles valeurs.

  6. #6
    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
    Et comment rentres-tu tes données dans le 2ème objet edit ?
    Je ne comprends pas très bien.

    L'ordre c'est la taille de la matrice qui est carrée c'est ça ?
    Donc par exemple si n=4 tu vas devoir rentrer 16 valeurs : comment sais-tu dans quel ordre tu dois les mettre ?

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