資源簡介
潮流上機所需要的c++程序,在input.txt中說明了輸入格式,在output.txt中輸出。教師原件,還給出了說明書。

代碼片段和文件信息
/*本程序的功能:根據輸入的電力系統節點和支路原始數據,利用直角坐標系下的牛頓——拉夫遜法計算潮流分布。*/
/*本程序可輸出的結果包含兩部分,一是潮流計算中每次迭代的結果,包括迭代次數、不平衡量、雅克比矩陣、節點電壓的修正值,以及本次迭代結束后得到的節點電壓值;
二是電力系統潮流計算的最終結果,包括各節點的電壓、注入功率,各支路的輸送功率、功率損耗,以及全網的功率損耗等*/
/*本程序具有良好的通用性,可處理PQPV平衡節點,可以處理非標變比的線路以及含有平行之路的線路,也可以處理各節點的對地支路上的阻抗。*/
/*本程序還可以對電力系統的運行狀態進行分析檢驗,判斷節點電壓、支路功率是否超過的額定值*/
/*本程序可計算最大節點數為100,迭代的最大次數為100,節點數、支路數、節點注入功率、支路阻抗和運算精度等基本信息由用戶在輸入文件中定義,各節點電壓初值由用戶在界面中手動輸入*/
#include
#include
#define?M?100?????????????????????????????????????/*矩陣階數*/???????????????????????????????????????
#define?N?100?????????????????????????????????????/*迭代次數*/
int?ijkabc;??????????????????????????????????/*循環控制變量*/?
int?tlgy;??????????????????????????????????????/*中間變量*/????????????
int?n????????????????????????????????????????????/*?節點數?*/
m????????????????????????????????????????????????/*?支路數?*/
pq???????????????????????????????????????????????/*?PQ節點數?*/
pv;???????????????????????????????????????????????/*?PV節點數?*/
duidi;????????????????????????????????????????????/*對地支路數*/
K;????????????????????????????????????????????????/*變比*/
double?eps;???????????????????????????????????????/*?精度?*/
double?AA[M]BB[M]CC[M]DD[M]max?rrttfuzhi;??/*中間變量*/???????????
double?moc1d1c2d2jiao;???????????????????????/*復數運算函數的返回值*/???
double?G[M][M]B[M][M]Y[M][M];???????????????????/*節點導納矩陣中的實部、虛部及其模方值*/
double?ykb[M][M]D[M]dU[M];??????????????????????/*雅克比矩陣、不平衡量矩陣*/
double?S[M+1][2];??????????????????????????????????/*各支路的視在功率,每一行代表一條支路,
???????????????????????????????????????????????????兩列分別是從首節點到末節點和從末節點到首節點流過的功率*/
struct?jd ??/*?節點結構體?*/
{??
int?nums;????????????????????????????????????/*?num為節點號,s為節點類型*/
double?pqS; ??/*節點有功、無功功率,功率模值*/
double?efUzkj; ??/*節點電壓縱、橫分量,電壓模值阻抗角*/
double?dpdqdudedf; ??/*牛頓--拉夫遜中功率不平衡量、電壓不平衡量*/
double?lim; ??/*節點電壓限額*/
}?jd[M];
struct?zhl ??/*?支路結構體?*/
{??
int?numb; ?/*numb為支路號*/
int?p1p2; ?/*支路的兩個節點*/
double?kx; ?/*變比*/
double?rx; ?/*支路的電阻與電抗*/
????double?lim; ?/*支路功率限額*/
}?zhl[M];
FILE?*fp1*fp2; /*定義文件指針*/
/*******************讀取輸入文件中的數據*******************/
void?data()?????????????????????????????
{??
int?hnumber; ????/*局部變量*/?????
fp1=fopen(“input.txt““r“); /*打開輸入文件?指針類型:只讀*/?
if(fp1==NULL) /*檢查輸入數據路徑是否正確*/????
{?
printf(“cannot?open?input.txt?file!\n“);????/*錯誤提示信息*/?
exit(0);
}???????????????????????????????????????????????/*退出程序*/?
????fscanf(fp1“%d%d%d%d%d%lf\n“&n&m&pq&pv&duidi&eps);????/*輸入節點數支路數PQ節點數PV節點數和精度*/?
/*******************節點輸入*******************/
????j=1;k=pq+1;/*PQ、PV節點計數,將輸入的節點在jd[]數組中重新排序,將PQ節點放在最前面,PV節點放在中間,S節點放在最后*/?
????for(i=1;i<=n;i++)????????????????????????????????????????????????/*輸入節點編號、類型、輸入功率和電壓初值*/
????{
fscanf(fp1“%d%d“&number&h);
????????/*雖然在jd[]數組中將節點順序調換了,但節點編號仍然是它輸入的順序,在輸出結果時仍然按照輸入的順序*/
if(h==1)??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????143??2016-01-22?10:40??潮流上機程序\input.txt
?????文件????????831??2016-01-21?22:06??潮流上機程序\input數據格式說明.txt
?????文件???????6702??2016-01-22?10:41??潮流上機程序\output.txt
?????文件??????28418??2016-01-21?17:24??潮流上機程序\潮流上機.c
?????目錄??????????0??2017-01-08?21:49??潮流上機程序
-----------?---------??----------?-----??----
????????????????36094????????????????????5
- 上一篇:成績管理系統VC++6.0
- 下一篇:C++寫的商店管理系統
評論
共有 條評論