博客
关于我
1至m为PQ节点,m+1至n-1为PV节点,n为平衡节点
阅读量:798 次
发布时间:2023-04-17

本文共 2479 字,大约阅读时间需要 8 分钟。

节点排序:1至m为PQ节点,m+1至n-1为PV节点,n为平衡节点。


清空变量;

清空控制标志;
初始化数据矩阵Y,设置为零矩阵;

对于i从1到n:

如果X(i,2)不等于0:
p = X(i,1);
Y(p,p) = 1./X(i,2);

对于i从1到nl:

如果B1(i,6)等于0:
p = B1(i,1);
q = B1(i,2);
否则:
p = B1(i,2);
q = B1(i,1);
Y(p,q) = Y(p,q) - 1/(B1(i,3)*B1(i,5));
Y(q,p) = Y(p,q);
Y(q,q) = Y(q,q) + 1/(B1(i,3)*B1(i,5)^2) + B1(i,4)/2;
Y(p,p) = Y(p,p) + 1/B1(i,3) + B1(i,4)/2;

输出导纳矩阵Y;


G = 实数部分(Y);

B = 虚数部分(Y);

对于i从1到n:

e(i) = 实数部分(B2(i,3));
f(i) = 虚数部分(B2(i,3));
V(i) = B2(i,4);

对于i从1到n:

S(i) = B2(i,1) - B2(i,2);

Ps = 实数部分(S);

Qs = 虚数部分(S);

初始化数值和矩阵:

num = 0;
control = 1;
J = 零矩阵,大小为(2n-2, 2n-2);
b = 零向量,大小为(2n-2,1);

while control ≠ 0:

对于i从1到n-1:
计算C和D:
C = G(i,j)*e(j) - B(i,j)*f(j);
D = G(i,j)*f(j) + B(i,j)*e(j);
对于j从1到n:
C = C + G(i,j)*e(j) - B(i,j)*f(j);
D = D + G(i,j)*f(j) + B(i,j)*e(j);
P(i) = e(i)*C + f(i)*D;
Q(i) = f(i)*C - e(i)*D;
V2 = e(i)^2 + f(i)^2;
如果i ≤ m:
DP = Ps(i) - P(i);
DQ = Qs(i) - Q(i);
对于j从1到n-1:
如果i == j:
X1 = -C - G(i,i)*e(i) - B(i,i)*f(i);
X2 = -D + B(i,i)*e(i) - G(i,i)*f(i);
X3 = D + B(i,i)*e(i) - G(i,i)*f(i);
X4 = -C + G(i,i)*e(i) + B(i,i)*f(i);
否则:
X1 = -G(i,j)*e(i) - B(i,j)*f(i);
X2 = B(i,j)*e(i) - G(i,j)*f(i);
X3 = X2;
X4 = -X1;
p = 2i-1;
q = 2j-1;
u = p+1;
v = q+1;
J(p,q) = X1;
J(p,v) = X2;
J(u,q) = X3;
J(u,v) = X4;
b(p,1) = DP;
b(u,1) = DQ;
如果i > m:
DV = V(i)^2 - V2;
对于j从1到n-1:
如果i == j:
X1 = -C - G(i,i)*e(i) - B(i,i)*f(i);
X2 = -D + B(i,i)e(i) - G(i,i)f(i);
X5 = -2
e(i);
X6 = -2
f(i);
否则:
X1 = -G(i,j)*e(i) - B(i,j)*f(i);
X2 = B(i,j)*e(i) - G(i,j)*f(i);
X5 = 0;
X6 = 0;
p = 2i-1;
q = 2j-1;
u = p+1;
v = q+1;
J(p,q) = X1;
J(p,v) = X2;
J(u,q) = X5;
J(u,v) = X6;
b(p,1) = DP;
b(u,1) = DV;

J = -J;  x = J \ b;  对于i从1到n-1:      e(i) = e(i) + x(2i-1);      f(i) = f(i) + x(2i);  ABS = 绝对值(b);  MAX = ABS的最大值;  如果MAX ≤ pr:      control = 0;  否则:      num = num + 1;

对于i从1到num:

Dy(num,i) = sqrt(e(i)^2 + f(i)^2);

输出迭代次数;

对于i从1到n:

V(i) = sqrt(e(i)^2 + f(i)^2);
O(i) = atan(f(i)/e(i)) * 180/π;

输出各节点的电压大小和电压相角;

对于p从1到n:

C(p) = 0;
对于q从1到n:
C(p) = C(p) + Y(p,q)*E(q);
S(p) = E(p) * conj(C(p));

输出各节点的功率;

对于i从1到nl:

如果B1(i,6)等于0:
p = B1(i,1);
q = B1(i,2);
否则:
p = B1(i,2);
q = B1(i,1);
Si(p,q) = E(p) * (conj(E(p)) * conj(B1(i,4)) + (conj(E(p)/B1(i,5)) - conj(E(q))) * conj(1/(B1(i,3)*B1(i,5))));

对于i从1到nl:

如果B1(i,6)等于0:
p = B1(i,1);
q = B1(i,2);
否则:
p = B1(i,2);
q = B1(i,1);
Sj(q,p) = E(q) * (conj(E(q)) * conj(B1(i,4)) + (conj(E(q)/B1(i,5)) - conj(E(p))) * conj(1/(B1(i,3)*B1(i,5))));

输出各条支路的首端功率和末端功率;

输出各条支路的功率损耗;

输出各节点的功率;

输出各条支路的功率损耗;

输出各节点的功率;

生成迭代次数与电压迭代曲线的图形;

转载地址:http://htgfk.baihongyu.com/

你可能感兴趣的文章
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>