資源簡(jiǎn)介
這是我本科畢業(yè)設(shè)計(jì)編寫的程序,用matlab語言編寫的牛頓-拉夫遜潮流計(jì)算程序,程序注釋詳細(xì)。程序從excel中讀取原始數(shù)據(jù),并將計(jì)算結(jié)果輸出到excel表格中,壓縮包內(nèi)的excel是一個(gè)實(shí)例的數(shù)據(jù),程序可以直接使用。具體的excel和matlab混合編程的資料大家可以自己在網(wǎng)上搜索。

代碼片段和文件信息
%高斯——賽爾德潮流計(jì)算
%[s_nodeu_node]=gaosai(YmnsS_PQP_PVU_PVusQmaxQminexpl)
%返回值:s_node:??節(jié)點(diǎn)功率
%???????u_node:??節(jié)點(diǎn)電壓
%輸入值:Y:???導(dǎo)納矩陣
%????????m:???PQ節(jié)點(diǎn)數(shù)包含平衡節(jié)點(diǎn)
%????????n:???總結(jié)點(diǎn)數(shù)
%????????s:???平衡節(jié)點(diǎn)編號(hào),一般定為1號(hào)編號(hào)
%????????S_PQ:?PQ節(jié)點(diǎn)的視在功率[1:m]其中平衡節(jié)點(diǎn)的視在功率暫定為0;
%????????P_PV:PV節(jié)點(diǎn)的有功功率[m+1:n]
%????????U_PV:?PV節(jié)點(diǎn)的電壓給定值只有幅值,沒有相位角,是實(shí)數(shù)[m+1:n]
%????????us:???平衡節(jié)點(diǎn)的電壓給定值,復(fù)數(shù)。
%????????Qmax;PV節(jié)點(diǎn)無功功率最大值
%????????Qmin:PV節(jié)點(diǎn)無功功率最小值
%????????epxl:?最大電壓變量dumax的最大值,即規(guī)定的潮流計(jì)算的精度,實(shí)數(shù)。
function?[u_node]=DYgaosai(YmnsS_PQP_PVU_PVusQmaxQminepxl)
%**************************************************************************
%以下為高斯塞爾德潮流計(jì)算程序
?fprintf(‘高斯——塞爾德潮流計(jì)算開始\n‘)
U=ones(1n);%節(jié)點(diǎn)電壓的初始值;
U(s)=us;%將電壓初始值的平衡節(jié)點(diǎn)的初始電壓設(shè)為給定值
k=1000;%設(shè)置迭代次數(shù)
dumax=0;%最大電壓變化量,實(shí)數(shù)
flag=zeros(1n-m);%PV節(jié)點(diǎn)在計(jì)算過程中轉(zhuǎn)化為PQ節(jié)點(diǎn)的標(biāo)志,PV轉(zhuǎn)化為PQ節(jié)點(diǎn)時(shí),相應(yīng)的標(biāo)志位置1
Q_PV=ones(1n-m);%PV節(jié)點(diǎn)的無功功率;
Q_PV=Q_PV.*0.2;
Ss=0;%平衡節(jié)點(diǎn)的視在功率
for?a=m+1:n
????U(a)=U_PV(a-m);%第a個(gè)節(jié)點(diǎn)是PV節(jié)點(diǎn),暫時(shí)將PV節(jié)點(diǎn)電壓給定值賦給節(jié)點(diǎn)電壓初始值其相角暫時(shí)為0
end
while(k>=1)
for?i=1:n
????u=U(i);%保存U(i)的初值,為求du和dumax做準(zhǔn)備;
????if(i==s)%第i個(gè)節(jié)點(diǎn)是否為平衡節(jié)點(diǎn)?
???????%?i=i+1;%d第i個(gè)節(jié)點(diǎn)是平衡節(jié)點(diǎn),跳過。
????else????%第i節(jié)點(diǎn)不是平衡節(jié)點(diǎn),進(jìn)行以下處理
????????A=0;
????????for?a=1:n
????????????if(a~=i)
?????????????A=A+Y(ia)*U(a);
????????????end
????????end
????????a=1;
????????if(i>=m+1?&&?flag(i-m)==0)?%第i各節(jié)點(diǎn)是否為PV節(jié)點(diǎn)?
????????????Q_PV(i-m)=-imag(U(i)‘*Y(ii)*U(i)+U(i)‘*A);
????????????if(Q_PV(i-m)<=Qmax?&&?Q_PV(i-m)>=Qmin)
????????????????Upv=((P_PV(i-m)-Q_PV(i-m)*j)/U(i)-A)/Y(ii);
????????????????ang=angle(Upv);
????????????????U(i)=abs(U(i))*(cos(ang)+sin(ang)*j);
%???????????????Q_PV(i-m)=-imag(U(i)‘*Y(ii)*U(i)+U(i)‘*A);
????????????else
????????????????if(Q_PV(i-m)>Qmax)
????????????????????Q_PV(i-m)=Qmax;
????????????????????flag(i-m)=1;
????????????????????fprintf(‘PV節(jié)點(diǎn)%gQ大于Qmax轉(zhuǎn)化為PQ節(jié)點(diǎn)\n‘i);
????????????????elseif(Q_PV(i-m) ????????????????????Q_PV(i-m)=Qmin;
????????????????????flag(i-m)=1;
????????????????????fprintf(‘PV節(jié)點(diǎn)%gQ小于Qmin轉(zhuǎn)化為PQ節(jié)點(diǎn)\n‘i);
????????????????end
????????????????U(i)=((P_PV(i-m)-Q_PV(i-m)*j)/U(i)‘-A)/Y(ii);
????????????end
????????else
????????????if(i<=m)%第i個(gè)節(jié)點(diǎn)是PQ節(jié)點(diǎn)
????????????????U(i)=(S_PQ(i)‘/U(i)‘-A)/Y(ii);
????????????elseif(i>=m+1?&&?flag(i-m)==1)
????????????????U(i)=((P_PV(i-m)-Q_PV(i-m)*j)/U(i)‘-A)/Y(ii);
????????????end
????????end
????end
?du=abs(U(i)-u);
??if(du>dumax)
??dumax=du;
??end
end
i=1;
if(dumax ????fprintf(‘迭代次數(shù)%g\n‘1000-k+1)
????break;
else
????k=k-1;
????dumax=0;
end
end
if(k==0)
????fprintf(‘高斯——塞爾德潮流計(jì)算不能收斂!??!\n‘)
end
for?i=1:n?%計(jì)算平衡節(jié)點(diǎn)的視在功率
????????Ss=Ss+Y(si)‘*U(i)‘;
end
Ss=Ss*U(s);%平衡節(jié)點(diǎn)的視在功率
????for?i=1:n%計(jì)算各個(gè)節(jié)點(diǎn)的視在功率
????????if(i==s)
????????????s_node(i)=Ss;
????????else
????????????if(i<=m)
????????????????s_node(i)=S_PQ(i);
????????????elseif(i>=m+1)
????????????????s_node(i)=P_PV(i-m)+Q_PV(i-m)*j;
????????????end
????????end
????end
????s_node
????u_node=U
????fprintf(‘高斯——塞爾德潮流計(jì)算結(jié)束\n‘)
????
????????????
????????????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????3531??2011-05-07?20:29??newton\DYgaosai.m
?????文件??????21808??2011-06-06?09:25??newton\newton.m
?????文件???????2597??2011-05-12?08:59??newton\write.m
?????文件??????16384??2011-06-06?09:25??newton\輸出數(shù)據(jù).xls
?????目錄??????????0??2011-10-18?08:58??newton
-----------?---------??----------?-----??----
????????????????44320????????????????????5
- 上一篇:何凱明去霧MATLAB代碼
- 下一篇:RRT_MATLAB程序帶中文注釋
評(píng)論
共有 條評(píng)論