Bonjour cher Tous, je suis LeKess, j'ai essayé d'améliorer mon code, mais voila que plot n'affiche, quand j’implémente la simulation, aucune erreur n'est généré, mais aucune courbe ne s'affiche, je vous appelle au secours. merci pour votre soutien...
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 %spécification du module PV A=1.72; q=1.6e-19; k=1.38e-23; Eg=1.1; Ior=19.9693e-6; Iscr=3.3; ki=1.7e-3; ns=40; np=2; Rs=5e-5; Rp=5e5; Tr=301.18; %initialisation des paramètres pour le calcul de la caracterisitque I-V V=0; Vinc=0.01; Es=0.01; Er=5000; loop=0; %valeur de Noct, de la temperature ambiante et de l'insolation NOCT=44; G=1; Ta=298.15; %temperature de la cellule Tc=((NOCT-20)*G/0.8)+(Ta); %courant de saturation inverse pour la temperature Is=(Ior*((Tc)/Tr)^3)*exp(((q*Eg/k*A))*((1/Tr)-(1/Tc))); %courant de court-circuit Isc=(Iscr+ki*(Tc+273.15-Tr))*G; %reistance shunt Rsht=(np/ns)*Rp; %resistance serie Rst=(ns/np)*Rs; %calcul de P P=q/(A*k*Tc); It=np*Isc; I=Isc; Vval=V; Ival=Isc*np; while (I>0) while (abs(Er)>Es) loop=loop+1; F1=(I)*(1+(Rst+Rsht))-It+(np*Is*exp(P*((V/ns)+I*Rst))+(V/(ns*Rsht))); Fdash=(1+(Rst/Rsht))+np*P*Rs*Is*exp(P*((V/ns)+I*Rst)); Inext=I-(F1/Fdash); Er=((Inext-I)/Inext)*100; I=Inext; if (I<0) I=0; break; end; if (loop==50000) break; end; end; Ival=[Ival, I]; Er=1000; if (I==0) Vval=[Vval,V]; break; else Vval=[Vval,V]; V=V+Vinc; end; end; P=[Ival.*Vval]; M=max(P); figure(1); plot(Vval,Ival); grid; hold on; figure(2); plot(Vval,Ival.*Vval); grid; hold on;
Partager