博客
关于我
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 数据库重置ID排序
查看>>
Mysql 数据类型一日期
查看>>
MySQL 数据类型和属性
查看>>
mysql 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>