Bonjour
J'ai refait le programme en fonction de l'algorithme et voici le code.
Lors de la compilation un message d'erreur s'affiche.
while N_it = N_it + 1;
|
Error: The expression to the left of the equals sign is not a valid target for an assignment.
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
|
% Doctorant : Claude,
% Directeur de Thèse : Pr Martin & Pr Patrice
% Cet algorithme calcul les paramètres PV d'une cellule solaire
clear;
clc;
% Chargement des données expérimentales mesures
% Tempereature de la surface du module PV
% Irradiance solaire
T=288:5:358; % Température
G=100:50:800; % Irradiation
I_mes=0.1:0.5:7; % Courant expérimentales mesures
V_mes=6:1:20;% Tension expérimentales mesures
% Parametres du fabriquant sur le module PV
Nsc=36; % Nombre de cellule en serie
k=1.38*10^-23; % Constante de bolztman
Gref=1000; % Irradiance aux conditions STC
Tref=25+237.15; % Temperature aux conditions STC
q=1.60*10^-19; % Charge de l'électron
Kv=-0.0865; % Coefficient de tension
Iref=4.01; % Courant de circuit au condition STC
Nbre_mesure=length(T); % Nombre de mesures ou donnees expérimentales enregistrees
% On parcourt toutes les mesures enregistrées (mes ou theo) grace a j
%commencer par la première valeur dans le tableau
for j=0:Nbre_mesure
% Initialisation des parametres de depart
% Valeur minimale admise
Is(j)=10^-10; % Courant de saturation de depart ou valeur minimale admise
n(j)=1.0; % Facteur de qualité de depart ou valeur minimale admise
Rs(j)=0.01; % Resistance serie de depart ou valeur minimale admise
Rp(j)=0.01; % Resistance parallele de depart ou valeur minimale admise
% Pas d'encremantation
delta_Is=10^-9; % Courant de saturation à chaque incrementation
delta_n=0.001; % Facteur de qualité à chaque incrementation
delta_Rs=0.001; % Résistance serie à chaque incrementation
delta_Rp=0.001; % Résistance parallele à chaque incrementation
% Valeur maximale admise
Is_max=10^-6; % Courant de saturation max
n_max=2; % Facteur de qualité max
Rs_max=5; % Resistance serie max
Rp_max=200; % Resistance parallele max
for j=j+1
if j<size(Nbre_mesure);
for N_it = 1;% Pour chaque enregistrement calculons Is, n, Rs et Rp en utilisant N_it
while N_it = N_it + 1;
%On initialise epsilon qui est la difference entre la valeur mesuree et celle theorique obtenue grace a lambert
epsilon(j)=10^-4;
% Tension thermique de la jonction pn a la temperature T
Vt(j)=(k*T(j))/q;
% Calcul du courant photogenere a la temperature T sous une irradiance G
Iph(j)=((G(j))/(Gref))*(Iref+Kv*(T(j)-Tref));
%tant que nombre d'iterration inférieur à 200 et
while (N_it<=200 && Rs(j)<Rs_max && Is(j)<Is_max && n(j)<n_max && Rp(j)<Rp_max)
if epsilon(j)>10^-8
%expression du courant theorique Ipv_theo a comparer au courant mésuré I_mes
Ipv_theo(j)=(((Is(j)+Iph(j))*Rp(j))-V_mes(j))/(Rp(j)+Rs(j))-(((n(j)*Nsc*Vt(j))/Rs(j))*lambertw((Rs(j)*Rp(j)*Is(j))/(n(j)*Nsc*Vt(j)*(Rs(j)+Rp(j)))*exp(((Rs(j)*Rp(j))*((V_mes(j)/Rs(j))+Iph(j)+Is(j)))/((n(j)*Nsc*Vt(j))*(Rs(j)+Rp(j))))));
% On calcul le courant théorique à partir des précedentes valeurs de Rs, Is et n calculés plus haut
%Ipv_theo(j)=Is(j)+Iph(j)-((n(j)*Nsc*Vt(j))/(Rs(j)))*lambertw(((Rs(j)*Is(j))/(n(j)*Nsc*Vt(j)))*exp((V_mes(j)+Rs(j)*Iph(j)+Rs(j)*Is(j))/(n(j)*Nsc*Vt(j))));
% On calcul le courant théorique à partir des précedentes valeurs de Rs, Is et n calculés plus haut
%on calcul l'erreur entre I du module mesure experimentalement au I %theorique
epsilon(j)=abs(I_mes(j)-Ipv_theo(j));
return
% Incrementation des different parametres du module pour rapprocher %I mesure a I theo
Rs(j)=Rs(j)+delta_Rs; % on augmente la précedente résistance série de delta_Rs=0.001
Is(j)=Is(j)+delta_Is; % on augmente le précedente courant de saturation de delta_Rs=10^-9
n(j)=n(j)+delta_n; % on augmente le précedente facteur de qualité delta_Rs=0.001
Rp(j)=Rp(j)+delta_Rp; % on augmente le précedente facteur de qualité delta_Rs=10
% On incremente le parametre d'une valeur delta constante
end
end
end
end
end
end
Is %recuperation de la valeur de Is
n %recuperation de la valeur de n
Rs %recuperation de la valeur de Rs
Rp %recuperation de la valeur de Rp
end |
Partager