資源簡(jiǎn)介
基于matlab開(kāi)發(fā)實(shí)現(xiàn)牛頓-拉夫遜法電力系統(tǒng)潮流計(jì)算,并附有詳細(xì)備注

代碼片段和文件信息
%function?[YUPQdeltaSijaSSijSjisumdeltaS]=NRchaoliu()
function?[Ua]=NRchaoliu()
%電力系統(tǒng)潮流計(jì)算程序;
%輸出:U——節(jié)點(diǎn)電壓,P--節(jié)點(diǎn)有功,Q--節(jié)點(diǎn)無(wú)功,deltaSij--支路功率損耗,
%Sij--從節(jié)點(diǎn)i流向節(jié)點(diǎn)j的功率S--節(jié)點(diǎn)復(fù)功率sumdeltaS--網(wǎng)絡(luò)總損耗
%輸入?yún)?shù):point為節(jié)點(diǎn)信息矩陣,zhilu為支路信息矩陣;
[x]=xlsread(‘NRinput.xls‘‘A2:A2‘);%從exel中讀取節(jié)點(diǎn)數(shù)x
[y]=xlsread(‘NRinput.xls‘‘B2:B2‘);%從exel中讀取支路數(shù)y
e=xlsread(‘NRinput.xls‘‘B4:B4‘);%誤差要求
[point]=xlsread(‘NRinput.xls‘‘C3:H50‘);%從exel中讀取節(jié)點(diǎn)信息矩陣?zys
[zhilu]=xlsread(‘NRinput.xls‘‘J3:Q50‘);%從exel中讀取支路信息矩陣
sizeHL=size(zhilu);
zhilu0=zeros(sizeHL(1)2);%增加2列存儲(chǔ)首末新節(jié)點(diǎn)編號(hào)zys
zhilu=[zhilu?zhilu0];%zys
%-------節(jié)點(diǎn)優(yōu)化編號(hào)定義start??zys-------------------
nSW?=?0;???????????????????%?nSW為平衡節(jié)點(diǎn)個(gè)數(shù)?
nPV?=?0;???????????????????%?nPV為PV節(jié)點(diǎn)個(gè)數(shù)?
nPQ?=?0;???????????????????%?nPQ為PQ節(jié)點(diǎn)個(gè)數(shù)?
for?lx=1:x
????type0=point(lx2);
????if?type0?==?3??????
????????nSW?=?nSW?+?1;?????
????????SW(nSW:)=point(lx:);%?計(jì)算并儲(chǔ)存平衡節(jié)點(diǎn)???
????elseif?type0?==?2???????
????????nPV?=?nPV?+1;??????
????????PV(nPV:)=point(lx:);%?計(jì)算并儲(chǔ)存PV節(jié)點(diǎn)???
????else???????
????????nPQ?=?nPQ?+?1;?????
????????PQ(nPQ:)=point(lx:);%?計(jì)算并儲(chǔ)存PQ節(jié)點(diǎn)???
????end?
end
point=[PQ;PV;SW];????????????%?對(duì)bus矩陣按PQ、PV、平衡節(jié)點(diǎn)的順序重新排序
nodenum=[[1:x]‘?point(:1)];%?生成新舊節(jié)點(diǎn)對(duì)照表
for?hh=1:y?????
????for?ll=1:2?????????
????????for?k=1:x?????????????
????????????if?zhilu(hhll)==nodenum(k2)
????????????????zhilu(hh8+ll)=nodenum(k1);????????????????
????????????????break?????????????
????????????end?????????
????????end?????
????end?
end????
%-------節(jié)點(diǎn)優(yōu)化編號(hào)定義end?zys-------------------
TYPE=zeros(x1);%TYPE為節(jié)點(diǎn)類(lèi)型矩陣
U=zeros(x1);%U為節(jié)點(diǎn)電壓矩陣
a=zeros(x1);%a為節(jié)點(diǎn)電壓相角矩陣
P=zeros(x1);%P為節(jié)點(diǎn)有功功率
Q=zeros(x1);%Q為節(jié)點(diǎn)無(wú)功功率
S=ones(x1)+j*ones(x1);%S為節(jié)點(diǎn)復(fù)功率
I=zeros(y1);%I為起始節(jié)點(diǎn)編號(hào)矩陣
J=zeros(y1);%J為終止節(jié)點(diǎn)編號(hào)矩陣
Rij=zeros(y1);%R為線路電阻
Xij=zeros(y1);%X為線路電抗
Zij=Rij+j*Xij;??%Yij為線路阻抗
Y=zeros(x);??????%Y為n階節(jié)點(diǎn)導(dǎo)納方陣
G=zeros(x);??????%G為n階節(jié)點(diǎn)電導(dǎo)方陣
B=zeros(x);??????%B為n階節(jié)點(diǎn)電納方陣
B0=zeros(y1);?%B0為n*1階線路對(duì)地電納值
RT=zeros(y1);%RT為ij支路y(?矩陣zhilu的行數(shù))*1階變壓器電阻
XT=zeros(y1);%XT為ij支路y*1階變壓器電抗
ZT=RT+j*XT;%求變壓器阻抗
KT=zeros(y1);?%K為ij支路y*1階變壓器變比,若k=0表示無(wú)變壓器K=1則為標(biāo)準(zhǔn)變比,k?不等于1為非標(biāo)準(zhǔn)變比
%------------------------------矩陣賦初值:
%TYPE=point(:1);%將point矩陣的第一列賦給TYPE,以下類(lèi)似
TYPE=point(:2);%將point矩陣的第一列賦給TYPE,以下類(lèi)似
%U=point(:2);a=point(:3);P=point(:4);Q=point(:5);
U=point(:3);
a=point(:4);
P=point(:5);
Q=point(:6);
%I=zhilu(:1);J=zhilu(:2);
I=zhilu(:9);
J=zhilu(:10);
Rij=zhilu(:3);
Xij=zhilu(:4);
Zij=Rij+j*Xij;
B0=zhilu(:5);
RT=zhilu(:6);
XT=zhilu(:7);
ZT=RT+j*XT;
KT=zhilu(:8);
tic??%程序運(yùn)行時(shí)間開(kāi)始計(jì)時(shí)
%------------------------------求節(jié)點(diǎn)導(dǎo)納矩陣Y
for?m=1:y??????%求Y中非對(duì)角元元素Yij
????if?KT(m)==0%若無(wú)變壓器則Yij直接為線路阻抗分之一取負(fù)值.
????????Y(I(m)J(m))=-1/Zij(m);
????????Y(J(m)I(m))=-1/Zij(m);
????else?%有變壓器時(shí),Yij為線路阻抗乘以KT后分之一再取負(fù)值
??????????Y(I(m)J(m))=-1/(KT(m)*ZT(m));
??????????Y(J(m)I(m))=-1/(KT(m)*ZT(m));
???end
end
for?m=1:x????%求Y中的Yii
????for?n=1:y
???????if?KT(n)==0%無(wú)變壓器時(shí)Yii為Yij加上線路對(duì)地電導(dǎo)乘j
?????????if(I(n)==m|J(n)==m)
????????????Y(mm)=Y(
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????15553??2017-09-19?14:22??牛-拉法潮流\NRchaoliu.m
?????文件???????32256??2017-09-19?14:34??牛-拉法潮流\NRinput.xls
?????文件???????21671??2017-09-19?15:00??牛-拉法潮流\outputNR.txt
?????目錄???????????0??2019-03-04?20:43??牛-拉法潮流\
評(píng)論
共有 條評(píng)論