求助~~PQ法B1矩阵的形成
各位大牛,求助啊~~我毕设的题目是交直流混联系统的潮流计算,自己编了交替迭代法的的PQ分解法程序,计算结果与书上算例结果误差最大有12%。
于是测试了纯交流部分的程序,也就是一般的PQ法,对照着现代电力系统分析P86上的例子,发现自己程序B1矩阵算到的结果跟书上的有差,致使第一次迭代时相角的修正量跟标准值就差了4%左右。但是查到我程序生成的B1矩阵跟自己手算的结果是一样的啊……
附上相关部分代码 Ps 我得到的节点导纳矩阵和B2矩阵都是和书上的一样的,真心搞不懂了,求解答啊~~~
function = makeB(Node,Branch)
%% define named indices into node, branch matrices
[PQ, PV, REF, ...
TRANS, CAPAC, LINE,...
NODE_I, BUS_TYPE,PG,QG, PL, QL, V, THETA, ...
BRANCHNUM, NODE1, NODE2, R, X, BORK, BRANCH_TYPE, STATUS, P1, Q1, P2, Q2] = index;
%% form index lists for slack, PV, and PQ buses
ref = find(Node(:, 2) == 3); %% reference bus index
pv= find(Node(:, BUS_TYPE) == PV); %% PV bus indices
pq= find(Node(:, BUS_TYPE) == PQ); %% PQ bus indices
%*************************************************************************%
% form Bp
%*************************************************************************%
%找出非接地支路
temp = find( Branch(:,NODE2)~=0 );
NongroundingBranch = Branch(temp,:);
%忽略线路充电电容
NongroundingBranch(:,BORK) = 0;
%不考虑变压器非标准变比
temp = find( NongroundingBranch(:,BRANCH_TYPE)==TRANS );
NongroundingBranch(temp,BORK) = 1;
Y = makeY(Node,NongroundingBranch);
Bp = imag( Y );
Bp = Bp(, );% reduce Bp matrices
%*************************************************************************%
% form Bpp
%*************************************************************************%
Branch(:,4)=0;%忽略输电线路电阻
Y = makeY(Node,Branch);
Bpp = imag( Y );
Bpp = Bpp(pq, pq); % reduce Bp matrices
return; 自己顶~~~
拿那个5节点的例子,算出来的B1矩阵如下:
B1 =
(1,1) -6.5417
(2,1) 3.9002
(3,1) 2.6415
(1,2) 3.9002
(2,2) -73.6789
(3,2) 3.1120
(4,2) 66.6667
(1,3) 2.6415
(2,3) 3.1120
(3,3) -39.0869
(2,4) 66.6667
(4,4) -66.6667 网上有好像有这个程序 回复 3# wlm_28
网上找到的PQ法B1、B2矩阵都是手动输入的,没看到程序实现的。主要是拿5节点的算出来跟书上也差挺多,B2是一样的,B1书上只给了因子表,但是从迭代第一步的结果上看应该就是B1的问题……
页:
[1]