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 :

Utilisation du GUI


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Par défaut Utilisation du GUI
    Salut à vous, je travaille avec mon Directeur de mémoire sur un de ces articles qu'il doit publier.Il m'a donc demander de lui remettre le résultat de ces calculs sous forme d'interface graphique.
    Voilà, j'ai rédigé le programme et je n'arrive pas à mettre en place l'interface.
    Je veux juste une interface qui prend en entrée toutes mas variables "input" et affiche le graphe que vous verrez en sortie.
    Le cosphi<1
    les puissances sont comprises entre 500 et 1500
    Les tension entre 400 et 800
    longueur et largeur: entre 1000 et 1500
    nombre de charges<5
    abscisse avant étude:0
    ordonnée après étude:0
    Le reste des valeurs peut être entré de façon aléatoire.
    S'il vous plait, comment écrire le code qui me permettra d'entrer mes "input' ,d'appuyer sur un bouton et d'observer la courbe en sortie?
    J'ai 48hrs
    merci

    voici le code, écris par un débutant comme moi.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    longueur=input('Entrer la longueur du site (abscisse totale) en m: ');
    largeur=input('Entrerla largeur du site (ordonnée totale)en m: ');
    nombre=input('Entrer le nombre de charges ou d ateliers que comptent le site: ');
    m=input('Entrer l''échelle choisie pour le cartogramme de charges en kW/m^2: ');
    Jd=input('Entrer la densité de courant utilisée en A/m^2: ');
    rhoAlMgSi=3.0e8;
    temps='entrer  l''abscisse de la charge n° ';
    temp='entrer l''ordonnée de la charge n° ';
    for i=1:1:nombre
       fprintf('%s %d',temps,i);
        abscisse(i)=input(': ');
    end
     
    for i=1:1:nombre
       fprintf('%s %d',temp,i);
        ordonnee(i)=input(': ');
    end
     
       for i=1:1:nombre
       fprintf('entrer la puissance active de la charge n° %d en kW',i);
        puissactive(i)=input(': ');
       end
     
       for i=1:1:nombre
       fprintf('Entrer le facteur de puissance de la charge n° %d',i);
        cosphi(i)=input(': ');
       end
     
       for i=1:1:nombre
       fprintf('Entrer la tension d alimentation de la charge n° %d en V',i);
       tension(i)=input(': ');
       end
     
       for i=1:1:nombre
           courant(i)=puissactive(i)*1000/(sqrt(3)*tension(i)*cosphi(i));
       end
     
        for i=1:1:nombre
            section(i)=puissactive(i)*1000/(sqrt(3)*tension(i)*Jd*cosphi(i))*1e6;
        end
     
        for i=1:1:nombre
            rayon(i)=sqrt(puissactive(i)/(pi*m));
        end
     
        xo=input('Entrer l''abscisse de la source avant étude: ');
        yo=input('Entrer l''ordonne de la source avant étude:');
        fprintf('*******CALCUL DES COORDONNEES DU BARYCENTRE******\n');
        fprintf('\n');
     
        alpha=0;
        sommeX=0;
        sommeY=0;
     
          for i=1:1:nombre
                alpha=alpha+puissactive(i);
                sommeX=sommeX+puissactive(i)*abscisse(i);
                sommeY=sommeY+puissactive(i)*ordonnee(i);
          end
     
                XG=sommeX/alpha;
                YG=sommeY/alpha;
                fprintf('Les coordonnées du barycentre sont:   XG=%8.6f m  et  YG=%8.6f m',XG,YG);
                fprintf('\n');
     
                 for i=1:1:nombre
                      Lo(i)=sqrt((abscisse(i)-xo)*(abscisse(i)-xo)+(ordonnee(i)-yo)*(ordonnee(i)-yo));
                      L1(i)=sqrt((abscisse(i)-XG)*(abscisse(i)-XG)+(ordonnee(i)-YG)*(ordonnee(i)-YG));
                 end
     
                     fprintf('La longueur de cable de chaque atelier  par rapport à la source avant etude est:\n');
     
                for i=1:1:nombre
                      fprintf('Lo[%d]= %f m\n',i,Lo(i));
                end
     
            fprintf('*CALCUL DE LA LONGUEUR DES CABLES PAR RAPPORT A LA SOURCE APRES ETUDE*');
                      fprintf('\n');
                      fprintf('La longueur de cable de chaque atelier par rapport à la source apres etude  est:\n');
     
                      for i=1:1:nombre
                     fprintf('L1[%d]= %f m\n',i,L1(i));
                 end
     
                 fprintf('*CALCUL DU GAIN EN LONGUEUR DE CABLE*\n');
                 fprintf('\n');
                 fprintf('Pour chaque atelier, le gain en longueur de cable est:\n');
     
                 for i=1:1:nombre          
                 deltaL(i)=Lo(i)-L1(i);
                 fprintf('deltaL[%d]=%f m,\n ',i,deltaL(i));
                 end
     
                for i=1:1:nombre
                pertesavant(i)=sqrt(3)*rhoAlMgSi*Lo(i)*Jd*puissactive(i)/(tension(i)*cosphi(i));
                pertesapres(i)=sqrt(3)*rhoAlMgSi*L1(i)*Jd*puissactive(i)/(tension(i)*cosphi(i));
                end
     
                 totalpertesAV=0;
                 totalpertesAP=0;
     
                 for i=1:1:nombre
                     totalpertesAV=totalpertesAV+pertesavant(i);
                     totalpertesAP=totalpertesAP+pertesapres(i);
                 end
     
                 deltap=100*(totalpertesAV- totalpertesAP)/ totalpertesAV;
     
                 fprintf('**AFFICHAGE DES RESULTATS FINAUX**\n');
                 fprintf('\n');
                 fprintf('**Tableau 1:GAIN EN LONGUEUR DE CABLE***\n');
                 fprintf('\n');
                 fprintf('**numero**Puissactive**distance AVE**distance APE****gain**\n');
                 fprintf('\n');
     
                 for i=1:1:nombre
                 fprintf('   %d      %f    %f     %f     %f   \n',i,puissactive(i),Lo(i),L1(i),deltaL(i));
                 end
     
                 fprintf('**Tableau2:Pertes de puissances**\n');
                 fprintf('\n');
                 fprintf('**numero***section*********cosphi***pertesavant***pertesapres\n');
                 fprintf('\n');
     
                 for i=1:1:nombre
                 fprintf('   %d    %f    %f   %f    %f    \n',i,section(i),cosphi(i),pertesavant(i),pertesapres(i));                          
                 end
     
                    fprintf('Le total des pertes avant etude est: PertesAV= %f\n',totalpertesAV);
                    fprintf('Le total des pertes apres etude est: PertesAPE= %f\n',totalpertesAP);
                    fprintf('La reduction des pertes est: REDUCTION= %f (en pour cent)\n',deltap);
     
        axis([0 longueur 0 largeur]);
        t=0:0.002:2*pi;
        hold on;
        plot(xo,yo);
        plot(XG,YG,'r');
     
    for i=1:nombre
        X=abscisse(i)+rayon(i) *cos(t);
        Y=ordonnee(i)+rayon(i) *sin(t);
        plot(X,Y);
     
    end
    sommemoy=0;
    for j=1:1:nombre
        sommemoy=sommemoy+puissactive(j);
    end
     esperence=sommemoy/nombre;
     
    ecartype=input('Entrer l''écart type des puissances donné par la feuille excel: ');
    %esperence=input('Entrer la moyenne de puissance donnée par la feuille excel: ' );
    puissancehasard=random('normal',esperence,ecartype,1,1500);
    for j=1:1500
       for i=1:nombre
        puissancehasard=random('normal',esperence,ecartype,1,1500);
        npuissance(i)=puissancehasard(1,j);
        end
        alpha=0;
        sommeX=0;
        sommeY=0;
     
          for i=1:1:nombre
                alpha=alpha+npuissance(i);
                sommeX=sommeX+npuissance(i)*abscisse(i);
                sommeY=sommeY+npuissance(i)*ordonnee(i);
          end
     
                XG=sommeX/alpha;
                YG=sommeY/alpha;
                plot(XG,YG,'r');
     
    end
     
    hold off;
    fprintf('AUREVOIR\n');

  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
    Je n'ai pas regardé ton code : il est trop long et tu ne dis pas exactement quel est le souci avec celui-ci.

    Une première remarque :
    Au lieu d'utiliser tous ces INPUT tu peux déjà regarder du côté de la fonction INPUTDLG pour améliorer à la fois ton code et l'ergonomie de ta fonction.

  3. #3
    Membre émérite Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Par défaut
    salut
    tu peux aller regarder les tutoriels sur les interfaces graphiques et la doc de Matlbab qui est bien fournie.
    tu crées des objets 'text' avec tes questions et des objets 'edit' pour que l'utilisateur puisse rentrer les données, un 'pushbutton' pour lancer le tracé et un objet 'axes' pour tracer.

Discussions similaires

  1. utilisation des GUI
    Par Sayanel01 dans le forum Scilab
    Réponses: 0
    Dernier message: 12/06/2015, 08h22
  2. Problème d'utilisation du GUI
    Par yoann1989 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 24/07/2012, 17h36
  3. [Débutant] Lenteur de traitement après utilisation de gui
    Par MrPingouin dans le forum Interfaces Graphiques
    Réponses: 18
    Dernier message: 19/06/2009, 17h44
  4. Première utilisation du GUI MatLab
    Par Emi.14 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 18/02/2009, 09h44
  5. [JNI] utilisation de gui
    Par docr1 dans le forum Applets
    Réponses: 3
    Dernier message: 01/12/2008, 16h56

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