核心提示:【MATLAB代做|FPGA代做】导纳矩阵计算IEEE9...
FPGA嵌入式代做,ZYNQ代做,APAC代做
%这是导纳矩阵,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
联系:highspeedlogic
QQ :1224848052
微信:HuangL1121
邮箱:1224848052@qq.com
微信扫一扫: