⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fbianhuan.m

📁 能够利用偏最小二乘回归模型分析电力系统谐波发射水平
💻 M
字号:
load A;%%从电科院测量仪器中可以得到原始PCC点数据:为次侧数据
a=data(:,2)*700;%%电压数据
b=data(:,5)*2+data(:,7)*3;%%电流数据
%分成1000*50的数据矩阵
for t=1:50
    c(:,t)=a((1000*t-999):1000*t,1);
    d(:,t)=b((1000*t-999):1000*t,1);
 end
q=fft(c)/500;w=fft(d)/500;
q=q(2,:);w=w(2,:);
u1=(abs(q))'/1.414;
u2=(angle(q))';
i1=(abs(w))'/1.414;
i2=(angle(w))'+3.14;
% ux=u1.*cos(u2);
%uy=u1.*sin(u2);
 ux=u1.*cos(0);%取电压相位为0
uy=u1.*sin(0);
%U=complex(ux,uy);
%i3=ones(1440,1)*0; 
%ix=i1.*cos(i2);
%iy=i1.*sin(i2);
ix=i1.*cos(i2-u2);
iy=i1.*sin(i2-u2);
%I=complex(ix,iy);
%y=ux.*iy+ix.*uy;
%x=[iy,ix,-(ix.*ix+iy.*iy)];
%{采用模型Vpccx==vsx+zsy*ipccy-zsxipccx}
   x1_60=[iy,-ix];
   y1_60=ux;

%for t=1:10
   
  for i=1:50;
     for j=1:2
         E(i,j)=[x1_60(i,j)-mean(x1_60(:,j))]/sqrt(var(x1_60(:,j),1));
         F(i,1)=[y1_60(i,1)-mean(y1_60(:,1))]/sqrt(var(y1_60(:,1),1));
     end 
  
 end
        for n=1:2;
    
               Q=sqrt((F.')*E*(E.')*F);
                  W1=((E.')*F)/Q;
        %[W1,M1,L1]=RegrPLS(E,F,2)
           T1=E*W1;Q1=(T1.')*T1;
           P1=((E.')*T1)./Q1;
           E1=E-T1*(P1.');
            T(:,n)=T1;
           W2(:,n)=W1;
            P2(:,n)=P1;
            E=E1;
        end

 
   W3(:,1)=W2(:,1);
   W3(:,2)=(eye(2)-W2(:,1)*(P2(:,1).'))*W2(:,2);
   %W3(:,3)=(eye(2)-W2(:,1)*(P2(:,1).'))*(eye(2)-W2(:,2)*(P2(:,2).'))*W2(:,3)
   %  W3(:,m)=c\ T(:,m);
     

   R=regress(F,T);
   A=R(1,1)*W3(:,1)+R(2,1)*W3(:,2);%+R(3,1)*W3(:,3);
    % A(1,1)=R(1,1)*W3(1,1)+R(2,1)*W3(2,1)+R(3,1)*W3(3,1);
    % A(1,2)=R(1,1)*W3(1,2)+R(2,1)*W3(2,2)+R(3,1)*W3(3,2);
   % A(1,3)=R(1,1)*W3(1,3)+R(2,1)*W3(2,3)+R(3,1)*W3(3,3);

   zy(1,1)=sqrt(var(y1_60(:,1),1))* A(1,1)/sqrt(var(x1_60(:,1),1));
   zx(1,1)=sqrt(var(y1_60(:,1),1))* A(2,1)/sqrt(var(x1_60(:,2),1));  
   %B(1,3)=sqrt(var(y(:,1),1))* A(3,1)/sqrt(var(x(:,3),1));  
 
   %for n=1:500;
   %   a(n,:)=i(2,(256*n-255):256*n);
   %end
   Vsx(1,1)=[(A(1,1)*mean(x1_60(:,1))/sqrt(var(x1_60(:,1),1))+A(2,1)*mean(x1_60(:,2))/sqrt(var(x1_60(:,2),1)))]*sqrt(var(y1_60(:,1),1));%+A(3,1)*mean(x1_60(:,3))/sqrt(var(x1_60(:,3),1)))]*sqrt(var(y1_60(:,1),1));
   Vsx(1,1) =mean(y1_60)-Vsx(1,1);

   
end
%{采用模型Vpccx*ipccy-vpy*ipx==vsx*ipy-vsy*ipccx+zsy*(ipccx*ipccx+ipccy*ipccy)}
x=[-ix,iy,(ix.*ix+iy.*iy)];
y=ux.*iy-uy.*ix;
for i=1:50;
     for j=1:3
           E(i,j)=[x(i,j)-mean(x(:,j))]/sqrt(var(x(:,j),1));
           F(i,1)=[y(i,1)-mean(y(:,1))]/sqrt(var(y(:,1),1));
       end 
end


        for n=1:3;
    
                 Q=sqrt((F.')*E*(E.')*F);
                   W1=((E.')*F)/Q;
       %  [W1,M1,L1]=RegrPLS(E,F,2)
            T1=E*W1;Q1=(T1.')*T1;
            P1=((E.')*T1)./Q1;
            E1=E-T1*(P1.');
            T(:,n)=T1;
            W2(:,n)=W1;
            P2(:,n)=P1;
            E=E1;
        end

 
    W3(:,1)=W2(:,1);
   W3(:,2)=(eye(3)-W2(:,1)*(P2(:,1).'))*W2(:,2);
   W3(:,3)=(eye(3)-W2(:,1)*(P2(:,1).'))*(eye(3)-W2(:,2)*(P2(:,2).'))*W2(:,3);
   %  W3(:,m)=c\ T(:,m);
     

   R=regress(F,T);
   A=R(1,1)*W3(:,1)+R(2,1)*W3(:,2)+R(3,1)*W3(:,3);
   % A(1,1)=R(1,1)*W3(1,1)+R(2,1)*W3(2,1)+R(3,1)*W3(3,1);
   % A(1,2)=R(1,1)*W3(1,2)+R(2,1)*W3(2,2)+R(3,1)*W3(3,2);
   % A(1,3)=R(1,1)*W3(1,3)+R(2,1)*W3(2,3)+R(3,1)*W3(3,3);
   vsy=sqrt(var(y(:,1),1))* A(1,1)/sqrt(var(x(:,1),1));
   vsx=sqrt(var(y(:,1),1))* A(2,1)/sqrt(var(x(:,2),1));  
   zy=sqrt(var(y(:,1),1))* A(3,1)/sqrt(var(x(:,3),1));  

%for n=1:500;
 %   a(n,:)=i(2,(256*n-255):256*n);
 %end
%a=(A(1,1)*mean(x(:,1))/sqrt(var(x(:,1),1))+A(2,1)*mean(x(:,2))/sqrt(var(x(:,2),1))+A(3,1)*mean(x(:,3))/sqrt(var(x(:,3),1)))/sqrt(var(y(:,1),1));
% b=(A(1,1)*sqrt(var(y(:,1),1)))/sqrt(var(x(:,1),1))+A(2,1)*sqrt(var(y(:,1),1)))/sqrt(var(x(:,2),1))+A(3,1)*sqrt(var(y(:,1),1)))/sqrt(var(x(:,3),1));
%a=((A(1,1)*mean(x(:,1))/sqrt(var(x(:,1),1))+A(2,1)*mean(x(:,2))/sqrt(var(x(:,2),1))+A(3,1)*mean(x(:,3))/sqrt(var(x(:,3),1))))*sqrt(var(y(:,1),1));
%a=a-mean(y);
a=(A(1,1)*mean(x(:,1))/sqrt(var(x(:,1),1))+A(2,1)*mean(x(:,2))/sqrt(var(x(:,2),1))+A(3,1)*mean(x(:,3))/sqrt(var(x(:,3),1)))*sqrt(var(y(:,1),1));
a=mean(y)-a;
end
%{采用模型Vpccy==vsy-zsy*ipccx-zsx*ipccy}
x1_60=[-iy,-ix];
y1_60=uy;


   
for i=1:50;
     for j=1:2
         E(i,j)=[x1_60(i,j)-mean(x1_60(:,j))]/sqrt(var(x1_60(:,j),1));
         F(i,1)=[y1_60(i,1)-mean(y1_60(:,1))]/sqrt(var(y1_60(:,1),1));
     end 
 end


        for n=1:2;
    
               Q=sqrt((F.')*E*(E.')*F);
                  W1=((E.')*F)/Q;
        %[W1,M1,L1]=RegrPLS(E,F,2)
           T1=E*W1;Q1=(T1.')*T1;
           P1=((E.')*T1)./Q1;
           E1=E-T1*(P1.');
            T(:,n)=T1;
           W2(:,n)=W1;
            P2(:,n)=P1;
            E=E1;
        end

 
   W3(:,1)=W2(:,1);
   W3(:,2)=(eye(2)-W2(:,1)*(P2(:,1).'))*W2(:,2);
   %W3(:,3)=(eye(2)-W2(:,1)*(P2(:,1).'))*(eye(2)-W2(:,2)*(P2(:,2).'))*W2(:,3)
   %  W3(:,m)=c\ T(:,m);
     

   R=regress(F,T);
   A=R(1,1)*W3(:,1)+R(2,1)*W3(:,2);%+R(3,1)*W3(:,3);
    % A(1,1)=R(1,1)*W3(1,1)+R(2,1)*W3(2,1)+R(3,1)*W3(3,1);
    % A(1,2)=R(1,1)*W3(1,2)+R(2,1)*W3(2,2)+R(3,1)*W3(3,2);
   % A(1,3)=R(1,1)*W3(1,3)+R(2,1)*W3(2,3)+R(3,1)*W3(3,3);

   zx(1,1)=sqrt(var(y1_60(:,1),1))* A(1,1)/sqrt(var(x1_60(:,1),1));
   zy(1,1)=sqrt(var(y1_60(:,1),1))* A(2,1)/sqrt(var(x1_60(:,2),1));  
   %B(1,3)=sqrt(var(y(:,1),1))* A(3,1)/sqrt(var(x(:,3),1));  
 
   %for n=1:500;
   %   a(n,:)=i(2,(256*n-255):256*n);
   %end
   Vsy(1,1)=[(A(1,1)*mean(x1_60(:,1))/sqrt(var(x1_60(:,1),1))+A(2,1)*mean(x1_60(:,2))/sqrt(var(x1_60(:,2),1)))]*sqrt(var(y1_60(:,1),1));%+A(3,1)*mean(x1_60(:,3))/sqrt(var(x1_60(:,3),1)))]*sqrt(var(y1_60(:,1),1));
   Vsy(1,1) =mean(y1_60)-Vsy(1,1);
  
   
end

%{采用模型Vpccx*ipccx+vpy*ipy==vsx*ipx+vsy*ipccy-zsx*(ipccx*ipccx+ipccy*ipccy)}
x=[ix,iy,-(ix.*ix+iy.*iy)];
y=ux.*ix+uy.*iy;
for i=1:50;
     for j=1:3
           E(i,j)=[x(i,j)-mean(x(:,j))]/sqrt(var(x(:,j),1));
           F(i,1)=[y(i,1)-mean(y(:,1))]/sqrt(var(y(:,1),1));
       end 
end


        for n=1:3;
    
                 Q=sqrt((F.')*E*(E.')*F);
                   W1=((E.')*F)/Q;
       %  [W1,M1,L1]=RegrPLS(E,F,2)
            T1=E*W1;Q1=(T1.')*T1;
            P1=((E.')*T1)./Q1;
            E1=E-T1*(P1.');
            T(:,n)=T1;
            W2(:,n)=W1;
            P2(:,n)=P1;
            E=E1;
        end

 
    W3(:,1)=W2(:,1);
   W3(:,2)=(eye(3)-W2(:,1)*(P2(:,1).'))*W2(:,2);
   W3(:,3)=(eye(3)-W2(:,1)*(P2(:,1).'))*(eye(3)-W2(:,2)*(P2(:,2).'))*W2(:,3);
   %  W3(:,m)=c\ T(:,m);
     

   R=regress(F,T);
   A=R(1,1)*W3(:,1)+R(2,1)*W3(:,2)+R(3,1)*W3(:,3);
   % A(1,1)=R(1,1)*W3(1,1)+R(2,1)*W3(2,1)+R(3,1)*W3(3,1);
   % A(1,2)=R(1,1)*W3(1,2)+R(2,1)*W3(2,2)+R(3,1)*W3(3,2);
   % A(1,3)=R(1,1)*W3(1,3)+R(2,1)*W3(2,3)+R(3,1)*W3(3,3);
   vsx=sqrt(var(y(:,1),1))* A(1,1)/sqrt(var(x(:,1),1));
   vsy=sqrt(var(y(:,1),1))* A(2,1)/sqrt(var(x(:,2),1));  
   zx=sqrt(var(y(:,1),1))* A(3,1)/sqrt(var(x(:,3),1));  

%for n=1:500;
 %   a(n,:)=i(2,(256*n-255):256*n);
 %end
%a=(A(1,1)*mean(x(:,1))/sqrt(var(x(:,1),1))+A(2,1)*mean(x(:,2))/sqrt(var(x(:,2),1))+A(3,1)*mean(x(:,3))/sqrt(var(x(:,3),1)))/sqrt(var(y(:,1),1));
% b=(A(1,1)*sqrt(var(y(:,1),1)))/sqrt(var(x(:,1),1))+A(2,1)*sqrt(var(y(:,1),1)))/sqrt(var(x(:,2),1))+A(3,1)*sqrt(var(y(:,1),1)))/sqrt(var(x(:,3),1));
%a=((A(1,1)*mean(x(:,1))/sqrt(var(x(:,1),1))+A(2,1)*mean(x(:,2))/sqrt(var(x(:,2),1))+A(3,1)*mean(x(:,3))/sqrt(var(x(:,3),1))))*sqrt(var(y(:,1),1));
%a=a-mean(y);
a=(A(1,1)*mean(x(:,1))/sqrt(var(x(:,1),1))+A(2,1)*mean(x(:,2))/sqrt(var(x(:,2),1))+A(3,1)*mean(x(:,3))/sqrt(var(x(:,3),1)))*sqrt(var(y(:,1),1));
a=mean(y)-a;
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -