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

📄 nodematrix.txt

📁 用于计算电力系统的导纳计算 以一个ieee九节点的系统为例子
💻 TXT
字号:
%这是导纳矩阵,IEEE9节点的例子
   Ybus(1,1)=0 -17.6367i
   Ybus(2,1)=0 +16.7622i
   Ybus(1,2)=0 +16.7622i
   Ybus(2,2)=3.3074 -37.9624i
   Ybus(3,2)=-1.3652 +11.6041i
   Ybus(4,2)=-1.9422 +10.5107i
   Ybus(2,3)=-1.3652 +11.6041i
   Ybus(3,3)=2.5528 -17.2587i
   Ybus(6,3)=-1.1876 + 5.9751i
   Ybus(2,4)=-1.9422 +10.5107i
   Ybus(4,4)=3.0973 -20.1032i
   Ybus(8,4)=-1.1551 + 9.7843i
   Ybus(5,5)=2.8991 -18.9595i
   Ybus(6,5)=-1.6171 +13.6980i
   Ybus(8,5)=-1.2820 + 5.5882i
   Ybus(3,6)=-1.1876 + 5.9751i
   Ybus(5,6)=-1.6171 +13.6980i
   Ybus(6,6)=2.8047 -34.0120i
   Ybus(7,6)=0 +15.2067i
   Ybus(6,7)=0 +15.2067i
   Ybus(7,7)=0 -16.0000i
   Ybus(4,8)=-1.1551 + 9.7843i
   Ybus(5,8)=-1.2820 + 5.5882i
   Ybus(8,8)=2.4371 -30.6453i
   Ybus(9,8)=0 +16.2187i
   Ybus(8,9)=0 +16.2187i
   Ybus(9,9)=0 -17.0648i;
   
   
   
 %平启动的设置

e(1:9)=1;
f(1:9)=0;

%分别为导纳矩阵的实部和虚部,也就是常见的G和B
Rybus=real(Ybus);
Iybus=imag(Ybus);
 
m=1;
n=1; 

%形成一个初始的J矩阵,
J=zeros(18,18);
   
 
  
   for (i=1:9)
       n=1;    %这里m,n和J阵中的元素有关,m和J阵的行有关,对应的节点有功无功;n和J阵的列有关,对应的是每个节点的电压实部e和虚部f
       for (j=1:9)
           if (i==j)
               J(m,n)=-sum(Rybus(i,:))-Rybus(i,i);%对角线上的元素,这是有功对ei求导.由于ei=1,而fi=0,所以,这里就没有其他项了.下同
               J(m,n+1)=-sum(Iybus(i,:))+Iybus(i,i);%对角线上的元素,这是对fi求导
            
                 if(i==7)||(i==9)%由于7号和9号节点是PV节点,所以要单独处理
                    J(m+1,n)=-2;%对角线上的元素,这是PV节点对ei求导
                    J(m+1,n+1)=0;
                 else
                  J(m+1,n)=sum(Iybus(i,:))+Iybus(i,i);%对角线上的元素,这是无功对ei求导
                  J(m+1,n+1)=-sum(Rybus(i,:))+Rybus(i,i);
                 end
           else
                J(m,n)=-Rybus(i,j);%非对角线上的元素,这是节点i有功对ej求导
                J(m,n+1)=Iybus(i,j);
            
                 if(i==7)||(i==9)
                    J(m+1,n)=0;
                    J(m+1,n+1)=0;
                 else
                      J(m+1,n)=Iybus(i,j);%非对角线上的元素,这是节点i无功对ei求导
                      J(m+1,n+1)=+Rybus(i,j);
                 end
                    
           end  %   end if

           n=n+2;   %由于每次是计算的电压实部和虚部,所以这里每次移动列的时候要移动2列

       end   %end for
      
      m=m+2;%每个节点有2个方程,占矩阵的两行,所以,这里m要加2,n在首行回到1
     
   end

⌨️ 快捷键说明

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