zhyerica 发表于 2012-5-8 20:03:18

重提问 PQ分解法B1矩阵该如何求啊

[讨论] 求助~~PQ法B1矩阵的形成

求助, PQ分解法
各位大牛,求助啊~~
我毕设的题目是交直流混联系统的潮流计算,自己编了交替迭代法的的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

loverqi 发表于 2012-5-10 08:54:57

这些基础的我都不会,那书我们也学的,。。。要学习
页: [1]
查看完整版本: 重提问 PQ分解法B1矩阵该如何求啊

招聘斑竹