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');