www.gusucode.com > 太阳能三种mppt算法包括干扰观察法,电导增益法,变步长电导增益法 > mppt/INC1.m

    %%INC跟踪算法
function [P,V,I]=INC1(sun,v,T)
Vr=zeros(size(sun));
Ir=zeros(size(sun));
for k=1:size(sun)-1
    if size(k)~=0
        Vr0=2.8;
        Vr1=2.8+v;
        Ir0=max60(Vr0,sun(k),T(k));
        Ir1=max60(Vr1,sun(k+1),T(k+1));
        dV=Vr1-Vr0;
        dI=Ir1-Ir0;
        G=-Ir1./Vr1;
        Vr(k)=Vr0;
        Vr(k+1)=Vr1;
        Ir(k)=Ir0;
        Ir(k+1)=Ir1;
        break;
    end
end
for m=k+1:size(sun)-1
    if size(m+1)~=0
        if dV==0
            if dI>0
                Vr0=Vr1;
                Vr1=Vr1+v;
            elseif dI<0
                Vr0=Vr1;
                Vr1=Vr1-v;
            else
                Vr0=Vr1;
                %Vr1=Vr1;
            end
        else
            dG=dI./dV;
            if G>dG
                Vr0=Vr1;
                Vr1=Vr1-v;
            elseif G<dG
                Vr0=Vr1;
                Vr1=Vr1+v;
            else
                Vr0=Vr1;
               % Vr1=Vr1;
            end
        end
         Ir0=Ir1;
         Ir1=max60(Vr1,sun(m+1),T(m+1));
         dV=Vr1-Vr0;
         dI=Ir1-Ir0;
         G=-Ir1./Vr1;
        Vr(m+1)=Vr1;
        Ir(m+1)=Ir1;
    end
end
V=Vr;
I=Ir;
P=Vr.*Ir;