91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 18KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-05
  • 語言: Matlab
  • 標簽: BPA??matpower??

資源簡介

BPA格式轉matpower格式Matlab程序,考慮了母線包含漢字、直流線路、bpa數據省略小數點格式等各種情況。在超過一萬節點的實際電力系統中進行了驗證。

資源截圖

代碼片段和文件信息

function?[mpc]?=?bpa2mpc(bpafile)
%?BPA2MPC?Convert?BPA?format?file?to?Matpower?mpc?format?file
%?X類型母線(自動控制投切電容電抗器)暫未考慮
%?buslist中母線名稱格式為:母線名+額定電壓等級因為bpa中允許同一母線名對應多個電壓等級
%?抽頭可調節變壓器的變比固定為設定變比
%?非對稱線路(兩側電納不相等)的情況按對稱線路考慮,兩側電納均取左側電納
%?mpc中沒有線路接地電導G和變壓器等效電導G
%?線路并聯高抗(L+支路)加到線路對地電納中b=-2*Mvar/U^2(只能認為兩側高抗相等),也可以加到線路首末的母線上(第六列)感性為負。
%?如果提前用BPA計算了系統潮流,則兩端直流線路按其指定輸送功率等效為一正一負的兩個負荷,注意直流線路可以傳輸無功(P,Q),多端直流線路沒有考慮
%?mpc.branch中第14列存回路標志,回路標志是數字或字符的ascll碼
%?L卡中線路的額定電流不是線電流,而是一個等效的虛擬電流,其值為sqrt(3)倍線電流(待定)
%?case118.m?由118bpa.dat轉換的118mpc,用BPA計算的118bpadat?三者結果相同
%?By?Shijun?Tian?Xi‘an?Jiaotong?University,tsjguoke@163.com?2017/10/20

%?Define?Default?Values
defaultVmax?=?1.052;
defaultVmin?=?0.95;
defaultQgmax?=?9999.0;
defaultQgmin?=?-9999.0;
defaultPgmin?=?0.0;
baseMVA?=?100;?
%?讀入BPA文件的所有內容
bpa_info?=?cell(500001);?%?默認.dat文件最大行數
bpa_info(:)?=?{blanks(80)};?%?數據行最大列數為80
disp([‘讀入原始BPA潮流文件‘?bpafile?‘的內容...‘]);
%?打開BPA潮流文件
fid?=?fopen(bpafile?‘r‘‘n‘‘GBK‘);
%?將所有內容讀入到字符串集合中
ii?=?1;
while?(~feof(fid))
????newline?=?fgetl(fid);
????bpa_info{ii}(1:length(newline))?=?newline;
????ii?=?ii?+?1;
end
fclose(fid);%??關閉BPA潮流文件
bpa_info(ii:end)?=?[];?%釋放多余的空間
%?刪除注釋語句
temp=1;
for?ii?=?1?:?length(bpa_info)
????thisline?=?bpa_info{ii};
????if?(?strcmp(thisline(1)?‘.‘)?||?strcmp(thisline(1)?‘?‘)?)
????????deleteLine(temp)=ii;
????????temp=temp+1;
????end
end
bpa_info(deleteLine)=[];
%?統計某類型節點或支路數量
%?經統計nwsgdata.dat中TP=0,BX=0,E=0LD=22LM=0+A=1
Num=0;
for?ii?=?1?:?length(bpa_info)
????thisline?=?bpa_info{ii};
????if?(strcmp(thisline(1:1)?‘+‘))
????????Num=Num+1;
????end
end
%?得到母線個數,支路個數,基準容量
busNumA?=?0;?%?交流母線個數
branchNumA?=?0;?%?交流支路個數
busNumD?=?0;?%?直流母線個數
branchNumD?=?0;?%?直流支路個數
disp(‘獲得電網基本參數(母線個數,支路個數,基準容量)...‘);
for?ii?=?1?:?length(bpa_info)
????thisline?=?bpa_info{ii};
????%?獲得基準容量
????if?(strcmp(thisline(1?:?9)?‘/MVA_base‘))
????????baseMVA?=?str2double(thisline(11?:?13));
????end
????%?統計交流母線個數
????if?(strcmp(thisline(1)?‘B‘)?&&??~strcmp(thisline(2)?‘D‘)?&&?~strcmp(thisline(2)?‘M‘))
????????busNumA?=?busNumA?+?1;
????end
????%?統計交流支路個數
????if?(strcmp(thisline(1:2)?‘L?‘)?||?strcmp(thisline(1)?‘T‘)?||?strcmp(thisline(1)?‘E‘)?)
????????branchNumA?=?branchNumA?+?1;
????end
????%?統計直流母線個數
????if?(strcmp(thisline(1:2)?‘BD‘)?||??strcmp(thisline(1:2)?‘BM‘))
????????busNumD?=?busNumD?+?1;
????end
????%?統計直流支路個數
????if?(strcmp(thisline(1:2)?‘LD‘)?||?strcmp(thisline(1:2)?‘LM‘))
????????branchNumD?=?branchNumD?+?1;
????end
end
%?母線名稱可能出現漢字,為保證字符長度對應bpa中的長度,要在漢字后面補充空格
for?ii?=?1?:?length(bpa_info)
????thisline?=?bpa_info{ii};
????if?(?~strcmp(thisline(1)?‘(‘)?&&?~strcmp(thisline(1)?‘/‘)?&&?~strcmp(thisline(1)?‘>‘)?)?%排除控制行,所有包含母線名稱的數據行都是7:14
????????temp?=?unicode2native(thisline(7:14)‘GBK‘);
????????numChn?=?length(temp)-8;%?母線名中包含的中文字符數?0<=numChn<=4
????????thisline=[thisline(1:14-numChn)blanks(numChn)thisline(15-numChn:end)];
????end
????if?(strcmp(thislin

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-26?16:07??bpa2mpc\
?????文件???????94541??2018-04-26?16:07??bpa2mpc\118bpa.dat
?????文件???????21974??2018-04-26?16:07??bpa2mpc\bpa2mpc.m
?????文件???????33539??2018-04-26?16:07??bpa2mpc\case118.m
?????文件??????????77??2018-04-26?16:07??bpa2mpc\main.m

評論

共有 條評論