首页 > 行业资讯 > 分布式电源后配电网的可靠性评估附matlab代码

分布式电源后配电网的可靠性评估附matlab代码

时间:2022-03-25 来源: 浏览:

分布式电源后配电网的可靠性评估附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于话题

1 简介

电力系统可靠性是对电力系统按可接受的质量标准和所需数量不间断地向电 力用户供应电力和电能能力的度量,据不完全统计用户停电故障中以上是由配电系 统故障引起的,因此对配电网进行可靠性评估具有十分重大的意义。

2 完整代码

function [branch1]=zuixiaolufa(branch) [row,colum]= size(branch); branch( : , 9 : 23 )= 0 ; m= 1 ; n= 2 ; k= 1 ;%用来记录主节点个数 flag= 0 ; %**********确定主网络******* branch(row, 10 )= 1 ;%branch第十列表征主网络节点 zhuwangluojiedian=branch(row, 1 );%主网络节点 zhuwangluo(k)=branch(row, 1 ); zhesuanguzhanglv= 0 ; zhesuanxiufushijian= 0 ; while zhuwangluojiedian~=branch( 1 , 1 ) for i= 1 :row if branch(i, 2 )==zhuwangluojiedian branch(i, 10 )= 1 ; zhuwangluojiedian=branch(i, 1 ); k=k+ 1 ; zhuwangluo(k)=branch(i, 1 ); zhesuanguzhanglv=zhesuanguzhanglv+branch(i, 4 ); zhesuanxiufushijian=zhesuanxiufushijian+branch(i, 4 )*branch(i, 5 ); branch(i, 22 )=zhesuanguzhanglv; branch(i, 23 )=zhesuanxiufushijian; branch(i, 23 )=zhesuanxiufushijian/branch(i, 22 ); if branch(i, 3 )== 4 zhesuanguzhanglv= 0 ; zhesuanxiufushijian=branch(i, 7 ); end break end end end %*******确定孤岛支路******* m= 0 ; for i= 1 :row if branch(i, 9 )== 0 &&branch(i, 3 )~= 7 %*****后续改动 for j= 1 :row if j~=i if branch(j, 1 )==branch(i, 1 )&&branch(j, 3 )~= 7 %*****后续改动 branch(i, 9 )=branch(i, 9 )+ 1 ;%第九列存放节点的支路数; m=m+ 1 ; duozhilu(m)=j; end end end while m~= 0 branch(duozhilu(m), 9 )=branch(i, 9 ); m=m- 1 ; end end end branch=gudaojisian(branch); % branch=gudaojisuanqian(branch); % branch=gudaojisuanhou(branch); %********确定最小路***** % m= 1 ; % v= 1 ; % for i= 1 :row % if branch(i, 3 )== 7 % % zuixiaozhilu(m, 1 )=branch(i, 1 );%zuixiaozhilu中存放所有最小支路 % zuixiaozhilu(m, 1 )=i;%zuixiaozhilu中存放最小支路的行数 % chuanlianjiedian=branch(i, 1 ); % while chuanlianjiedian~=branch( 1 , 1 ) % for j= 1 :row % if branch(j, 2 )==chuanlianjiedian % % zuixiaozhilu(m,n)=branch(j, 1 ); % zuixiaozhilu(m,n)=j; % if branch(j, 10 )== 2 &&branch(j, 19 )== 0 &&branch(j, 3 )== 3 % branch(i, 19 )=branch(i, 19 )+branch(j, 14 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 14 )*branch(j, 15 ); % end % if branch(j, 10 )== 1 &&branch(j, 19 )~= 0 % branch(i, 19 )=branch(j, 4 )+branch(i, 19 )*branch(j, 4 )*(branch(i, 20 )+branch(j, 5 )); % branch(i, 20 )=branch(j, 5 )*branch(j, 4 )+branch(i, 20 )*branch(j, 2 )/(branch(i, 20 )+branch(j, 5 )); % end % if branch(j, 10 )== 1 &&branch(j, 19 )== 0 % branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); % end % n=n+ 1 ; % chuanlianjiedian=branch(j, 1 ); % break ; % end % end % end % m=m+ 1 ; % n= 2 ; % end % end % l=zuixiaozhilu %******非最小路上的参数折算********* %*******首先对主网络上的节点进行折算***************************************************** %* m= 1 ; for i= 1 :row if branch(i, 3 )== 7 jiedian=branch(i, 1 ); hangshu=i; branch(hangshu, 11 )=branch(hangshu, 4 ); branch(hangshu, 12 )=branch(hangshu, 5 )*branch(hangshu, 4 ); while branch(hangshu, 9 )== 0 for j= 1 :row if branch(j, 2 )==jiedian&&branch(j, 9 )== 0 branch(j, 11 )=branch(j, 4 )+branch(hangshu, 11 );%branch的 1112 列用来表示非最小路的指标归算——初次归算 branch(j, 12 )=branch(j, 4 )*branch(j, 5 )+branch(hangshu, 12 ); hangshu=j; jiedian=branch(j, 1 ); break end if branch(j, 2 )==jiedian&&branch(j, 9 )~= 0 branch(j, 13 )=branch(j, 13 )+ 1 ; %用第十三列表示已经进行过归算的标记 branch(j, 11 )=branch(j, 4 )+branch(hangshu, 11 );%branch的 1112 列用来表示非最小路的指标归算 branch(j, 12 )=branch(j, 4 )*branch(j, 5 )+branch(hangshu, 12 ); hangshu=j; break end end end branch(j, 12 )=branch(j, 12 )/branch(j, 11 ); end end %*************************** for i= 1 :row % branch(i, 17 )= 1 ;% 17 列表示已归算支路数 if branch(i, 13 )~= 0 &&branch(i, 16 )== 0 %改动 branch(i, 14 )=branch(i, 11 ); branch(i, 15 )=branch(i, 12 ); for j= 1 :row if branch(j, 1 )==branch(i, 1 )&&branch(j, 13 )~= 0 &&i~=j branch(i, 14 )=branch(i, 14 )+branch(j, 11 ); branch(i, 15 )=branch(i, 15 )+branch(j, 7 )*branch(j, 11 ); % branch(i, 14 )=branch(i, 14 )*branch(j, 11 )*(branch(i, 15 )+branch(j, 12 ));%用branch的第 1415 列表征二次归算 % branch(i, 15 )=branch(i, 15 )*branch(j, 12 )/(branch(i, 15 )+branch(j, 12 )); branch(i, 16 )= 2 ;%用第 16 列表示二次归算行存放值 branch(j, 16 )= 1 ;%表示已经进行了二次归算 branch(i, 17 )=branch(i, 17 )+ 1 ; end end end if branch(i, 17 )==branch(i, 9 )&&branch(i, 16 )~= 0 branch(i, 18 )= 1 ;% 18 列表示支路归算完成 end for t= 1 :k%k 中存放主节点个数 if branch(i, 1 )==zhuwangluo(t) if branch(i, 10 )~= 1 branch(i, 10 )= 2 ; end if branch(i, 17 )==(branch(i, 9 )- 1 )&&branch(i, 16 )~= 0 branch(i, 18 )= 1 ; break end end end end %******************************* for i= 1 :row if branch(i, 18 )== 1 &&branch(i, 10 )~= 2 %表示已经进行过二次归算且二次归算完毕 sanjiedian=branch(i, 1 ); panduan=branch(i, 10 ); while panduan~= 2 &&panduan~= 1 %没有到达主节点 for j= 1 :row if branch(j, 2 )==sanjiedian branch(j, 14 )=branch(j, 4 ); branch(j, 15 )=branch(j, 5 )*branch(j, 4 ); branch(j, 14 )=branch(j, 14 )+branch(i, 14 ); branch(j, 15 )=branch(i, 14 )*branch(i, 15 )+branch(j, 15 ); sanjiedian=branch(j, 1 ); panduan=branch(j, 10 ); zhiliudian=j; if branch(zhiliudian, 9 )~= 0 for t= 1 :row if (branch(t, 1 )==branch(zhiliudian, 1 )&&t~=zhiliudian&&branch(t, 13 )== 1 &&branch(t, 16 )== 0 ) || (branch(t, 1 )==branch(zhiliudian, 1 )&&t~=zhiliudian&&branch(t, 16 )== 2 ) if branch(t, 14 )~= 0 &&branch(t, 3 )~= 4 &&branch(t, 3 )~= 3 % branch(t, 14 )=branch(t, 14 )*branch(zhiliudian, 14 )*(branch(t, 15 )+branch(zhiliudian, 15 ));%用branch的第 1415 列表征二次归算 % branch(t, 15 )=branch(t, 15 )*branch(zhiliudian, 15 )/(branch(t, 15 )+branch(zhiliudian, 15 )); branch(t, 14 )=branch(t, 14 )+branch(zhiliudian, 14 ); branch(t, 15 )=branch(t, 15 )+branch(zhiliudian, 7 )*branch(zhiliudian, 14 ); end if branch(t, 14 )== 0 &&branch(t, 3 )~= 4 &&branch(t, 3 )~= 3 % branch(t, 14 )=branch(t, 11 )*branch(zhiliudian, 14 )*(branch(t, 12 )+branch(zhiliudian, 15 ));%用branch的第 1415 列表征二次归算 % branch(t, 15 )=branch(t, 12 )*branch(zhiliudian, 15 )/(branch(t, 12 )+branch(zhiliudian, 15 )); branch(t, 14 )=branch(t, 11 )+bracn(zhiliudian, 14 ); branch(t, 15 )=branch(t, 12 )+branch(zhiliudian, 7 )*branch(zhiliudian, 14 ); end branch(t, 16 )= 2 ; branch(t, 17 )=branch(t, 17 )+ 1 ; zhiliudian=t; if branch(t, 17 )==branch(t, 9 ) branch(t, 18 )= 1 ; % bianzhijiedian2=branch(t, 18 ); sanjiedian=branch(t, 1 ); panduan=branch(t, 10 ); break end if branch(t, 17 )~=branch(t, 9 ) break end end if branch(t, 1 )==branch(zhiliudian, 1 )&&t~=zhiliudian&&branch(t, 13 )== 0 &&branch(t, 10 )~= 1 branch(t, 14 )=branch(zhiliudian, 14 ); branch(t, 15 )=branch(zhiliudian, 15 ); branch(t, 16 )= 2 ; branch(t, 17 )=branch(t, 17 )+ 1 ; panduan= 2 ; break end end end branch(j, 15 )=branch(j, 15 )/branch(j, 14 ); break end end end end end %************************ for i= 1 :row if branch(i, 10 )== 2 &&branch(i, 21 )== 0 %&&branch(i, 16 )== 2 branch(i, 19 )=branch(i, 14 ); branch(i, 20 )=branch(i, 15 ); if branch(i, 9 )== 1 branch(i, 21 )= 2 ; end if branch(i, 9 )~= 1 &&branch(i, 16 )== 2 for j= 1 :row if branch(i, 18 )== 1 branch(i, 21 )= 2 ; break end if branch(j, 1 )==branch(i, 1 )&&branch(j, 10 )== 2 &&i~=j&&branch(j, 16 )== 0 if branch(j, 14 )~= 0 &&branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 % branch(i, 19 )=branch(i, 19 )*branch(j, 14 )*(branch(i, 20 )+branch(j, 15 )); % branch(i, 20 )=branch(i, 20 )*branch(j, 15 )/(branch(i, 20 )+branch(j, 15 )); branch(i, 19 )=branch(i, 19 )+branch(j, 14 ); branch(i, 20 )=branch(i, 20 )+branch(j, 7 )*branch(j, 14 ); branch(j, 21 )= 1 ; branch(i, 21 )= 2 ; end if branch(j, 14 )== 0 &&branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 % branch(i, 19 )=branch(i, 19 )*branch(j, 11 )*(branch(i, 20 )+branch(j, 12 )); % branch(i, 20 )=branch(i, 20 )*branch(j, 12 )/(branch(i, 20 )+branch(j, 12 )); branch(i, 19 )=branch(i, 19 )+branch(j, 11 ); branch(i, 20 )=branch(i, 20 )+branch(j, 7 )*branch(j, 11 ); branch(j, 21 )= 1 ; branch(i, 21 )= 2 ; end end end branch(i, 20 )=branch(i, 20 )/branch(i, 19 ); end end end %************************************************************************** %********最小路参数求解**************************************************** for i= 1 :row if branch(i, 21 )== 2 for j= 1 :row if branch(j, 1 )==branch(i, 1 )&&branch(j, 10 )== 1 branch(j, 19 )=branch(i, 19 ); branch(j, 20 )=branch(i, 20 ); if branch(i, 19 )== 0 %gaidong branch(j, 19 )=branch(i, 11 ); branch(j, 20 )=branch(i, 12 ); end break end end end end for i= 1 :row if branch(i, 10 )== 1 &&branch(i, 19 )~= 0 &&branch(i, 3 )~= 4 &&branch(i, 3 )~= 3 % branch(i, 19 )=branch(i, 19 )*branch(i, 22 )*(branch(i, 20 )+branch(i, 23 )); % branch(i, 20 )=branch(i, 20 )*branch(i, 23 )/(branch(i, 20 )+branch(i, 23 )); branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(i, 22 ); branch(i, 20 )=branch(i, 20 )+branch(i, 7 )*branch(i, 22 ); end end % m= 1 ; % for i= 1 :v % shenchajiedian=zuixiaozhilu(i, 1 ); % while shenchajiedian~= 0 % if branch(shenchajiedian, 10 )== 1 || branch(shenchajiedian, 1 )==branch( 1 , 1 ) % branch(zuixiaozhilu(i, 1 ), 19 )=branch(zuixiaozhilu(i, 1 ), 19 )+branch(zuixiaozhilu(i,m), 19 )+branch(zuixiaozhilu(i,m), 4 ); % branch(zuixiaozhilu(i, 1 ), 20 )=branch(zuixiaozhilu(i, 1 ), 20 )+branch(zuixiaozhilu(i,m), 19 )*branch(zuixiaozhilu(i,m), 20 )+branch(zuixiaozhilu(i,m), 4 )*branch(zuixiaozhilu(i,m), 5 ); % end % m=m+ 1 ; % if m<=(c+ 1 ) % shenchajiedian=zuixiaozhilu(i,m); % else % break % end % end % end %********************************************************* m= 1 ; for i= 1 :row flag= 0 ; if branch(i, 3 )== 7 %&&branch(i, 8 )== 0 % zuixiaozhilu(m, 1 )=branch(i, 1 );%zuixiaozhilu中存放所有最小支路 zuixiaozhilu(m, 1 )=i;%zuixiaozhilu中存放最小支路的行数 chuanlianjiedian=branch(i, 1 ); branch(i, 19 )=branch(i, 4 ); branch(i, 20 )=branch(i, 4 )*branch(i, 5 ); while chuanlianjiedian~=branch( 1 , 1 ) for j= 1 :row if branch(j, 2 )==chuanlianjiedian % zuixiaozhilu(m,n)=branch(j, 1 ); zuixiaozhilu(m,n)=j; if flag== 1 if branch(j, 9 )== 0 &&branch(j, 10 )== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); end if branch(j, 9 )~= 0 &&branch(j, 10 )== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); for v= 1 :row if branch(v, 1 )==branch(j, 1 )&&v~=j&&branch(v, 3 )~= 4 if branch(v, 13 )~= 0 branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(v, 11 ); branch(i, 20 )=branch(i, 20 )+branch(v, 7 )*branch(v, 11 ); end if branch(v, 13 )== 0 branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(v, 14 ); branch(i, 20 )=branch(i, 20 )+branch(v, 7 )*branch(v, 14 ); end end end end if branch(j, 10 )== 2 %&&branch(j, 19 )== 0 %&&branch(j, 3 )== 3 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); for t= 1 :row if branch(t, 1 )==branch(j, 1 )&&branch(t, 3 )~= 4 &&t~=j%&&branch(t, 3 )~= 3 branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(t, 14 ); % branch(i, 20 )=branch(i, 20 )+branch(t, 7 )*branch(t, 4 ); end end end if branch(j, 10 )== 1 &&branch(j, 3 )~= 4 %branch(i, 19 )=branch(j, 4 )+branch(i, 19 )*branch(j, 4 )*(branch(i, 20 )+branch(j, 5 )); % branch(i, 20 )=branch(j, 5 )*branch(j, 4 )+branch(i, 20 )*branch % (j, 2 )/(branch(i, 20 )+branch(j, 5 )); % if flag== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 );%+branch(j, 19 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 );%+ 0 . 02 *branch(j, 20 ); if branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 %&&branch(j, 3 )~= 5 branch(i, 19 )=branch(i, 19 )+ 0 . 2 *branch(j, 19 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 7 )*branch(j, 4 ); end end n=n+ 1 ; chuanlianjiedian=branch(j, 1 ); break ; end if flag== 0 if branch(j, 9 )== 0 &&branch(j, 10 )== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); end if branch(j, 9 )~= 0 &&branch(j, 10 )== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); for v= 1 :row if branch(v, 1 )==branch(j, 1 )&&v~=j&&branch(v, 3 )~= 4 if branch(v, 13 )~= 0 branch(i, 19 )=branch(i, 19 )+ 0 . 3 *branch(v, 11 ); branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(v, 7 )*branch(v, 11 ); end if branch(v, 13 )== 0 branch(i, 19 )=branch(i, 19 )+ 0 . 3 *branch(v, 14 ); branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(v, 7 )*branch(v, 14 ); end end end end if branch(j, 10 )== 2 %&&branch(j, 19 )== 0 %&&branch(j, 3 )== 3 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); for t= 1 :row if branch(t, 1 )==branch(j, 1 )&&branch(t, 3 )~= 4 &&t~=j&&branch(t, 3 )~= 3 branch(i, 19 )=branch(i, 19 )+ 0 . 3 *branch(t, 14 ); branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(t, 7 )*branch(t, 14 ); end end if branch(i, 8 )== 1 % chuanlianjiedian=branch( 1 , 1 ); flag= 1 ; branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(j, 7 )*branch(j, 19 ); end end if branch(j, 10 )== 1 &&branch(j, 3 )~= 4 %branch(i, 19 )=branch(j, 4 )+branch(i, 19 )*branch(j, 4 )*(branch(i, 20 )+branch(j, 5 )); % branch(i, 20 )=branch(j, 5 )*branch(j, 4 )+branch(i, 20 )*branch % (j, 2 )/(branch(i, 20 )+branch(j, 5 )); % if flag== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 );%+branch(j, 19 ); branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 );%+ 0 . 02 *branch(j, 20 ); if branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 %&&branch(j, 3 )~= 5 branch(i, 19 )=branch(i, 19 )+ 0 . 3 *branch(j, 19 ); branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(j, 7 )*branch(j, 19 ); end % end % if flag== 1 % branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % if branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 % branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(j, 19 ); % end % end end % if branch(j, 10 )== 1 &&branch(j, 19 )== 0 % branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); % end n=n+ 1 ; chuanlianjiedian=branch(j, 1 ); break ; end end end end m=m+ 1 ; n= 2 ; branch(i, 20 )=branch(i, 20 )/branch(i, 19 ); % if branch(i, 3 )== 7 &&branch(i, 8 )== 1 % % branch(i, 19 )= 0 . 0163 ; % % branch(i, 20 )= 3 * 0 . 0163 ; % jiedian=branch(i, 1 ); % hang=i; % while branch(hang, 10 )~= 2 % for j= 1 :row % if branch(j, 2 )==jiedian % jiedian=branch(j, 1 ); % hang=j; % % if branch(j, 9 )~= 0 % % branch(i, 19 )=branch(i, 19 )+branch(j, 11 ); % % branch(i, 20 )=branch(i, 20 )+branch(j, 12 ); % % for t= 1 :row % % if branch(t, 1 )==branch(j, 1 )&&t~=j % % if branch(t, 14 )~= 0 % % branch(i, 19 )=branch(i, 19 )+branch(t, 14 ); % % branch(i, 20 )=branch(i, 20 )+ 0 . 02 *branch(t, 15 ); % % end % % if branch(t, 14 )== 0 % % branch(i, 19 )=branch(i, 19 )+branch(t, 11 ); % % branch(i, 20 )=branch(i, 20 )+ 0 . 02 *branch(t, 12 ); % % end % % end % % end % end % break % end % end % end % branch(i, 20 )=branch(i, 20 )/branch(i, 19 ); % end end end branch1=branch; end

function [branch2]=gudaojisuan(branch) [row,colum]=size(branch); jiedian=branch(row, 1 ); gonglv= 0 ; fuhegonglv= 2.5 ; % edinggonglv=input( ’请输入恒定备用电源的额定功率:’ ); edinggonglv= 2.5 ; while gonglv<edinggonglv for i= 1 :row m= 1 ; n= 1 ; if branch(i, 2 )==jiedian branch(i, 8 )= 1 ; jiedian=branch(i, 1 ); if branch(i, 9 )~= 0 hangshu( 1 )= 1 ; % m=m+ 1 ; zhilushu( 1 )= 1 ; jiedian2=branch(i, 1 ); if branch(i, 10 )~= 1 branch(i, 10 )= 2 ; end while zhilushu( 1 )~= 0 &&gonglv<edinggonglv for j= 1 :row if branch(j, 1 )==jiedian2&&branch(j, 8 )== 0 branch(j, 8 )= 1 ; jiedian2=branch(j, 2 ); if branch(j, 9 )~= 0 &&branch(hangshu(n), 1 )~=branch(j, 1 )%&&shengyuzhilushu~= 0 hangshu(m)=j; zhilushu(m)=branch(j, 9 ); n=m; m=m+ 1 ; % jiedian3=branch(hangshu(m), 1 ); end if branch(j, 3 )== 7 gonglv=gonglv+fuhegonglv; % m=m- 1 ; % jiedian3=branch(hangshu(n), 1 ); zhilushu(n)=zhilushu(n)- 1 ; % if zhilushu(n)==- 1 &&n>= 2 % n=n- 1 ; % zhilushu(n)=zhilushu(n)- 1 ; % if zhilushu(n)== 0 % break % end while zhilushu(n)==- 1 &&n>= 2 %|| (zhilushu(n)== 0 &&n== 1 ) n=n- 1 ; zhilushu(n)=zhilushu(n)- 1 ; end jiedian3=branch(hangshu(n), 1 ); if n== 1 &&zhilushu(n)== 0 break end for t= 1 :row if branch(t, 1 )==jiedian3&&branch(t, 8 )== 0 jiedian2=branch(t, 2 ); branch(t, 8 )= 1 ; break end end end break end end end end break end end end branch2=branch;

function [U] = canshujisuan(branchzuixiaolu,n)%n为每个负荷点的用户数 [row,column] = size(branchzuixiaolu); %计算负荷点个数lp lp = 0; for i = 1:row if branchzuixiaolu(i,3) == 7 lp = lp+1; end end %求年平均停电持续时间U U = zeros(3,lp); j = 1; for i = 1:row if branchzuixiaolu(i,3) == 7 U(1,j) = branchzuixiaolu(i,19);%把branch_up_down矩阵中的λ存储到U中 U(2,j) = branchzuixiaolu(i,20);%把branch_up_down矩阵中的r存储到U中 U(3,j) = U(1,j)*U(2,j);%平均停电持续时间U为上述二者相乘 j = j+1; end end U = U’; %求系统平均停电频率SAIFI(次/户?年)、系统平均停电持续时间SAIDI(小时/用户?年)、用户平均停电持续时间CAIDI(小时/停电用户?年)、平均供电可靠率ASAI(%) [rowU,columnU] = size(U); SAIFI = 0; SAIDI = 0; ASAI = 0; sum = 0; for i = 1:rowU SAIFI = SAIFI+U(i,1)*n; SAIDI = SAIDI+U(i,3)*n; sum = sum+8760*n; ASAI = ASAI+U(i,3)*n; if U(i,1) < 3 U(i,4) = 0; else U(i,4) = 1; end end %% 系统可靠性指标 % 第七个指标 SAIFI = SAIFI/(rowU*n) % 第八个指标 SAIDI = SAIDI/(rowU*n) % 第九个指标 CAIDI = SAIDI/SAIFI % 第十个指标 ASAI = 100*(sum-ASAI)/sum %% 用户可靠性数据 % 第一个指标 disp(’用电可靠率(%)’) U_ASAI = (1-U(:,3)./8760).*100; disp(U_ASAI’) % 第二个指标 disp(’用户平均停电次数(次/年)’) disp(U(:,1)’) % 第三个指标 disp(’用户平均停电时间(h/年)’) disp(U(:,3)’) % 第四个指标 disp(’重复停电概率’) P_IU = U(:,4)./rowU; disp(P_IU’) % 第五个指标 disp(’中低压用户可靠率差(%)’) Delta_U_ASAI = ASAI-(1-U(:,3)./8760).*100; disp(Delta_U_ASAI’) % 第六个指标 disp(’用户平均停电时长(h/次)’) disp(U(:,2)’)

function [branch1]=zuixiaolufa(branch) [row,colum]= size(branch); branch( : , 9 : 23 )= 0 ; m= 1 ; n= 2 ; k= 1 ;%用来记录主节点个数 flag= 0 ; %**********确定主网络******* branch(row, 10 )= 1 ;%branch第十列表征主网络节点 zhuwangluojiedian=branch(row, 1 );%主网络节点 zhuwangluo(k)=branch(row, 1 ); zhesuanguzhanglv= 0 ; zhesuanxiufushijian= 0 ; while zhuwangluojiedian~=branch( 1 , 1 ) for i= 1 :row if branch(i, 2 )==zhuwangluojiedian branch(i, 10 )= 1 ; zhuwangluojiedian=branch(i, 1 ); k=k+ 1 ; zhuwangluo(k)=branch(i, 1 ); zhesuanguzhanglv=zhesuanguzhanglv+branch(i, 4 ); zhesuanxiufushijian=zhesuanxiufushijian+branch(i, 4 )*branch(i, 5 ); branch(i, 22 )=zhesuanguzhanglv; branch(i, 23 )=zhesuanxiufushijian; branch(i, 23 )=zhesuanxiufushijian/branch(i, 22 ); if branch(i, 3 )== 4 zhesuanguzhanglv= 0 ; zhesuanxiufushijian=branch(i, 7 ); end break end end end %*******确定孤岛支路******* m= 0 ; for i= 1 :row if branch(i, 9 )== 0 &&branch(i, 3 )~= 7 %*****后续改动 for j= 1 :row if j~=i if branch(j, 1 )==branch(i, 1 )&&branch(j, 3 )~= 7 %*****后续改动 branch(i, 9 )=branch(i, 9 )+ 1 ;%第九列存放节点的支路数; m=m+ 1 ; duozhilu(m)=j; end end end while m~= 0 branch(duozhilu(m), 9 )=branch(i, 9 ); m=m- 1 ; end end end branch=gudaojisian(branch); % branch=gudaojisuanqian(branch); % branch=gudaojisuanhou(branch); %********确定最小路***** % m= 1 ; % v= 1 ; % for i= 1 :row % if branch(i, 3 )== 7 % % zuixiaozhilu(m, 1 )=branch(i, 1 );%zuixiaozhilu中存放所有最小支路 % zuixiaozhilu(m, 1 )=i;%zuixiaozhilu中存放最小支路的行数 % chuanlianjiedian=branch(i, 1 ); % while chuanlianjiedian~=branch( 1 , 1 ) % for j= 1 :row % if branch(j, 2 )==chuanlianjiedian % % zuixiaozhilu(m,n)=branch(j, 1 ); % zuixiaozhilu(m,n)=j; % if branch(j, 10 )== 2 &&branch(j, 19 )== 0 &&branch(j, 3 )== 3 % branch(i, 19 )=branch(i, 19 )+branch(j, 14 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 14 )*branch(j, 15 ); % end % if branch(j, 10 )== 1 &&branch(j, 19 )~= 0 % branch(i, 19 )=branch(j, 4 )+branch(i, 19 )*branch(j, 4 )*(branch(i, 20 )+branch(j, 5 )); % branch(i, 20 )=branch(j, 5 )*branch(j, 4 )+branch(i, 20 )*branch(j, 2 )/(branch(i, 20 )+branch(j, 5 )); % end % if branch(j, 10 )== 1 &&branch(j, 19 )== 0 % branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); % end % n=n+ 1 ; % chuanlianjiedian=branch(j, 1 ); % break ; % end % end % end % m=m+ 1 ; % n= 2 ; % end % end % l=zuixiaozhilu %******非最小路上的参数折算********* %*******首先对主网络上的节点进行折算***************************************************** %* m= 1 ; for i= 1 :row if branch(i, 3 )== 7 jiedian=branch(i, 1 ); hangshu=i; branch(hangshu, 11 )=branch(hangshu, 4 ); branch(hangshu, 12 )=branch(hangshu, 5 )*branch(hangshu, 4 ); while branch(hangshu, 9 )== 0 for j= 1 :row if branch(j, 2 )==jiedian&&branch(j, 9 )== 0 branch(j, 11 )=branch(j, 4 )+branch(hangshu, 11 );%branch的 1112 列用来表示非最小路的指标归算——初次归算 branch(j, 12 )=branch(j, 4 )*branch(j, 5 )+branch(hangshu, 12 ); hangshu=j; jiedian=branch(j, 1 ); break end if branch(j, 2 )==jiedian&&branch(j, 9 )~= 0 branch(j, 13 )=branch(j, 13 )+ 1 ; %用第十三列表示已经进行过归算的标记 branch(j, 11 )=branch(j, 4 )+branch(hangshu, 11 );%branch的 1112 列用来表示非最小路的指标归算 branch(j, 12 )=branch(j, 4 )*branch(j, 5 )+branch(hangshu, 12 ); hangshu=j; break end end end branch(j, 12 )=branch(j, 12 )/branch(j, 11 ); end end %*************************** for i= 1 :row % branch(i, 17 )= 1 ;% 17 列表示已归算支路数 if branch(i, 13 )~= 0 &&branch(i, 16 )== 0 %改动 branch(i, 14 )=branch(i, 11 ); branch(i, 15 )=branch(i, 12 ); for j= 1 :row if branch(j, 1 )==branch(i, 1 )&&branch(j, 13 )~= 0 &&i~=j branch(i, 14 )=branch(i, 14 )+branch(j, 11 ); branch(i, 15 )=branch(i, 15 )+branch(j, 7 )*branch(j, 11 ); % branch(i, 14 )=branch(i, 14 )*branch(j, 11 )*(branch(i, 15 )+branch(j, 12 ));%用branch的第 1415 列表征二次归算 % branch(i, 15 )=branch(i, 15 )*branch(j, 12 )/(branch(i, 15 )+branch(j, 12 )); branch(i, 16 )= 2 ;%用第 16 列表示二次归算行存放值 branch(j, 16 )= 1 ;%表示已经进行了二次归算 branch(i, 17 )=branch(i, 17 )+ 1 ; end end end if branch(i, 17 )==branch(i, 9 )&&branch(i, 16 )~= 0 branch(i, 18 )= 1 ;% 18 列表示支路归算完成 end for t= 1 :k%k 中存放主节点个数 if branch(i, 1 )==zhuwangluo(t) if branch(i, 10 )~= 1 branch(i, 10 )= 2 ; end if branch(i, 17 )==(branch(i, 9 )- 1 )&&branch(i, 16 )~= 0 branch(i, 18 )= 1 ; break end end end end %******************************* for i= 1 :row if branch(i, 18 )== 1 &&branch(i, 10 )~= 2 %表示已经进行过二次归算且二次归算完毕 sanjiedian=branch(i, 1 ); panduan=branch(i, 10 ); while panduan~= 2 &&panduan~= 1 %没有到达主节点 for j= 1 :row if branch(j, 2 )==sanjiedian branch(j, 14 )=branch(j, 4 ); branch(j, 15 )=branch(j, 5 )*branch(j, 4 ); branch(j, 14 )=branch(j, 14 )+branch(i, 14 ); branch(j, 15 )=branch(i, 14 )*branch(i, 15 )+branch(j, 15 ); sanjiedian=branch(j, 1 ); panduan=branch(j, 10 ); zhiliudian=j; if branch(zhiliudian, 9 )~= 0 for t= 1 :row if (branch(t, 1 )==branch(zhiliudian, 1 )&&t~=zhiliudian&&branch(t, 13 )== 1 &&branch(t, 16 )== 0 ) || (branch(t, 1 )==branch(zhiliudian, 1 )&&t~=zhiliudian&&branch(t, 16 )== 2 ) if branch(t, 14 )~= 0 &&branch(t, 3 )~= 4 &&branch(t, 3 )~= 3 % branch(t, 14 )=branch(t, 14 )*branch(zhiliudian, 14 )*(branch(t, 15 )+branch(zhiliudian, 15 ));%用branch的第 1415 列表征二次归算 % branch(t, 15 )=branch(t, 15 )*branch(zhiliudian, 15 )/(branch(t, 15 )+branch(zhiliudian, 15 )); branch(t, 14 )=branch(t, 14 )+branch(zhiliudian, 14 ); branch(t, 15 )=branch(t, 15 )+branch(zhiliudian, 7 )*branch(zhiliudian, 14 ); end if branch(t, 14 )== 0 &&branch(t, 3 )~= 4 &&branch(t, 3 )~= 3 % branch(t, 14 )=branch(t, 11 )*branch(zhiliudian, 14 )*(branch(t, 12 )+branch(zhiliudian, 15 ));%用branch的第 1415 列表征二次归算 % branch(t, 15 )=branch(t, 12 )*branch(zhiliudian, 15 )/(branch(t, 12 )+branch(zhiliudian, 15 )); branch(t, 14 )=branch(t, 11 )+bracn(zhiliudian, 14 ); branch(t, 15 )=branch(t, 12 )+branch(zhiliudian, 7 )*branch(zhiliudian, 14 ); end branch(t, 16 )= 2 ; branch(t, 17 )=branch(t, 17 )+ 1 ; zhiliudian=t; if branch(t, 17 )==branch(t, 9 ) branch(t, 18 )= 1 ; % bianzhijiedian2=branch(t, 18 ); sanjiedian=branch(t, 1 ); panduan=branch(t, 10 ); break end if branch(t, 17 )~=branch(t, 9 ) break end end if branch(t, 1 )==branch(zhiliudian, 1 )&&t~=zhiliudian&&branch(t, 13 )== 0 &&branch(t, 10 )~= 1 branch(t, 14 )=branch(zhiliudian, 14 ); branch(t, 15 )=branch(zhiliudian, 15 ); branch(t, 16 )= 2 ; branch(t, 17 )=branch(t, 17 )+ 1 ; panduan= 2 ; break end end end branch(j, 15 )=branch(j, 15 )/branch(j, 14 ); break end end end end end %************************ for i= 1 :row if branch(i, 10 )== 2 &&branch(i, 21 )== 0 %&&branch(i, 16 )== 2 branch(i, 19 )=branch(i, 14 ); branch(i, 20 )=branch(i, 15 ); if branch(i, 9 )== 1 branch(i, 21 )= 2 ; end if branch(i, 9 )~= 1 &&branch(i, 16 )== 2 for j= 1 :row if branch(i, 18 )== 1 branch(i, 21 )= 2 ; break end if branch(j, 1 )==branch(i, 1 )&&branch(j, 10 )== 2 &&i~=j&&branch(j, 16 )== 0 if branch(j, 14 )~= 0 &&branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 % branch(i, 19 )=branch(i, 19 )*branch(j, 14 )*(branch(i, 20 )+branch(j, 15 )); % branch(i, 20 )=branch(i, 20 )*branch(j, 15 )/(branch(i, 20 )+branch(j, 15 )); branch(i, 19 )=branch(i, 19 )+branch(j, 14 ); branch(i, 20 )=branch(i, 20 )+branch(j, 7 )*branch(j, 14 ); branch(j, 21 )= 1 ; branch(i, 21 )= 2 ; end if branch(j, 14 )== 0 &&branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 % branch(i, 19 )=branch(i, 19 )*branch(j, 11 )*(branch(i, 20 )+branch(j, 12 )); % branch(i, 20 )=branch(i, 20 )*branch(j, 12 )/(branch(i, 20 )+branch(j, 12 )); branch(i, 19 )=branch(i, 19 )+branch(j, 11 ); branch(i, 20 )=branch(i, 20 )+branch(j, 7 )*branch(j, 11 ); branch(j, 21 )= 1 ; branch(i, 21 )= 2 ; end end end branch(i, 20 )=branch(i, 20 )/branch(i, 19 ); end end end %************************************************************************** %********最小路参数求解**************************************************** for i= 1 :row if branch(i, 21 )== 2 for j= 1 :row if branch(j, 1 )==branch(i, 1 )&&branch(j, 10 )== 1 branch(j, 19 )=branch(i, 19 ); branch(j, 20 )=branch(i, 20 ); if branch(i, 19 )== 0 %gaidong branch(j, 19 )=branch(i, 11 ); branch(j, 20 )=branch(i, 12 ); end break end end end end for i= 1 :row if branch(i, 10 )== 1 &&branch(i, 19 )~= 0 &&branch(i, 3 )~= 4 &&branch(i, 3 )~= 3 % branch(i, 19 )=branch(i, 19 )*branch(i, 22 )*(branch(i, 20 )+branch(i, 23 )); % branch(i, 20 )=branch(i, 20 )*branch(i, 23 )/(branch(i, 20 )+branch(i, 23 )); branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(i, 22 ); branch(i, 20 )=branch(i, 20 )+branch(i, 7 )*branch(i, 22 ); end end % m= 1 ; % for i= 1 :v % shenchajiedian=zuixiaozhilu(i, 1 ); % while shenchajiedian~= 0 % if branch(shenchajiedian, 10 )== 1 || branch(shenchajiedian, 1 )==branch( 1 , 1 ) % branch(zuixiaozhilu(i, 1 ), 19 )=branch(zuixiaozhilu(i, 1 ), 19 )+branch(zuixiaozhilu(i,m), 19 )+branch(zuixiaozhilu(i,m), 4 ); % branch(zuixiaozhilu(i, 1 ), 20 )=branch(zuixiaozhilu(i, 1 ), 20 )+branch(zuixiaozhilu(i,m), 19 )*branch(zuixiaozhilu(i,m), 20 )+branch(zuixiaozhilu(i,m), 4 )*branch(zuixiaozhilu(i,m), 5 ); % end % m=m+ 1 ; % if m<=(c+ 1 ) % shenchajiedian=zuixiaozhilu(i,m); % else % break % end % end % end %********************************************************* m= 1 ; for i= 1 :row flag= 0 ; if branch(i, 3 )== 7 %&&branch(i, 8 )== 0 % zuixiaozhilu(m, 1 )=branch(i, 1 );%zuixiaozhilu中存放所有最小支路 zuixiaozhilu(m, 1 )=i;%zuixiaozhilu中存放最小支路的行数 chuanlianjiedian=branch(i, 1 ); branch(i, 19 )=branch(i, 4 ); branch(i, 20 )=branch(i, 4 )*branch(i, 5 ); while chuanlianjiedian~=branch( 1 , 1 ) for j= 1 :row if branch(j, 2 )==chuanlianjiedian % zuixiaozhilu(m,n)=branch(j, 1 ); zuixiaozhilu(m,n)=j; if flag== 1 if branch(j, 9 )== 0 &&branch(j, 10 )== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); end if branch(j, 9 )~= 0 &&branch(j, 10 )== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); for v= 1 :row if branch(v, 1 )==branch(j, 1 )&&v~=j&&branch(v, 3 )~= 4 if branch(v, 13 )~= 0 branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(v, 11 ); branch(i, 20 )=branch(i, 20 )+branch(v, 7 )*branch(v, 11 ); end if branch(v, 13 )== 0 branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(v, 14 ); branch(i, 20 )=branch(i, 20 )+branch(v, 7 )*branch(v, 14 ); end end end end if branch(j, 10 )== 2 %&&branch(j, 19 )== 0 %&&branch(j, 3 )== 3 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); for t= 1 :row if branch(t, 1 )==branch(j, 1 )&&branch(t, 3 )~= 4 &&t~=j%&&branch(t, 3 )~= 3 branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(t, 14 ); % branch(i, 20 )=branch(i, 20 )+branch(t, 7 )*branch(t, 4 ); end end end if branch(j, 10 )== 1 &&branch(j, 3 )~= 4 %branch(i, 19 )=branch(j, 4 )+branch(i, 19 )*branch(j, 4 )*(branch(i, 20 )+branch(j, 5 )); % branch(i, 20 )=branch(j, 5 )*branch(j, 4 )+branch(i, 20 )*branch % (j, 2 )/(branch(i, 20 )+branch(j, 5 )); % if flag== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 );%+branch(j, 19 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 );%+ 0 . 02 *branch(j, 20 ); if branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 %&&branch(j, 3 )~= 5 branch(i, 19 )=branch(i, 19 )+ 0 . 2 *branch(j, 19 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 7 )*branch(j, 4 ); end end n=n+ 1 ; chuanlianjiedian=branch(j, 1 ); break ; end if flag== 0 if branch(j, 9 )== 0 &&branch(j, 10 )== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); end if branch(j, 9 )~= 0 &&branch(j, 10 )== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); for v= 1 :row if branch(v, 1 )==branch(j, 1 )&&v~=j&&branch(v, 3 )~= 4 if branch(v, 13 )~= 0 branch(i, 19 )=branch(i, 19 )+ 0 . 3 *branch(v, 11 ); branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(v, 7 )*branch(v, 11 ); end if branch(v, 13 )== 0 branch(i, 19 )=branch(i, 19 )+ 0 . 3 *branch(v, 14 ); branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(v, 7 )*branch(v, 14 ); end end end end if branch(j, 10 )== 2 %&&branch(j, 19 )== 0 %&&branch(j, 3 )== 3 branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); for t= 1 :row if branch(t, 1 )==branch(j, 1 )&&branch(t, 3 )~= 4 &&t~=j&&branch(t, 3 )~= 3 branch(i, 19 )=branch(i, 19 )+ 0 . 3 *branch(t, 14 ); branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(t, 7 )*branch(t, 14 ); end end if branch(i, 8 )== 1 % chuanlianjiedian=branch( 1 , 1 ); flag= 1 ; branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(j, 7 )*branch(j, 19 ); end end if branch(j, 10 )== 1 &&branch(j, 3 )~= 4 %branch(i, 19 )=branch(j, 4 )+branch(i, 19 )*branch(j, 4 )*(branch(i, 20 )+branch(j, 5 )); % branch(i, 20 )=branch(j, 5 )*branch(j, 4 )+branch(i, 20 )*branch % (j, 2 )/(branch(i, 20 )+branch(j, 5 )); % if flag== 0 branch(i, 19 )=branch(i, 19 )+branch(j, 4 );%+branch(j, 19 ); branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 );%+ 0 . 02 *branch(j, 20 ); if branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 %&&branch(j, 3 )~= 5 branch(i, 19 )=branch(i, 19 )+ 0 . 3 *branch(j, 19 ); branch(i, 20 )=branch(i, 20 )+ 0 . 7 *branch(j, 7 )*branch(j, 19 ); end % end % if flag== 1 % branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % if branch(j, 3 )~= 4 &&branch(j, 3 )~= 3 % branch(i, 19 )=branch(i, 19 )+ 0 . 8 *branch(j, 19 ); % end % end end % if branch(j, 10 )== 1 &&branch(j, 19 )== 0 % branch(i, 19 )=branch(i, 19 )+branch(j, 4 ); % branch(i, 20 )=branch(i, 20 )+branch(j, 4 )*branch(j, 5 ); % end n=n+ 1 ; chuanlianjiedian=branch(j, 1 ); break ; end end end end m=m+ 1 ; n= 2 ; branch(i, 20 )=branch(i, 20 )/branch(i, 19 ); % if branch(i, 3 )== 7 &&branch(i, 8 )== 1 % % branch(i, 19 )= 0 . 0163 ; % % branch(i, 20 )= 3 * 0 . 0163 ; % jiedian=branch(i, 1 ); % hang=i; % while branch(hang, 10 )~= 2 % for j= 1 :row % if branch(j, 2 )==jiedian % jiedian=branch(j, 1 ); % hang=j; % % if branch(j, 9 )~= 0 % % branch(i, 19 )=branch(i, 19 )+branch(j, 11 ); % % branch(i, 20 )=branch(i, 20 )+branch(j, 12 ); % % for t= 1 :row % % if branch(t, 1 )==branch(j, 1 )&&t~=j % % if branch(t, 14 )~= 0 % % branch(i, 19 )=branch(i, 19 )+branch(t, 14 ); % % branch(i, 20 )=branch(i, 20 )+ 0 . 02 *branch(t, 15 ); % % end % % if branch(t, 14 )== 0 % % branch(i, 19 )=branch(i, 19 )+branch(t, 11 ); % % branch(i, 20 )=branch(i, 20 )+ 0 . 02 *branch(t, 12 ); % % end % % end % % end % end % break % end % end % end % branch(i, 20 )=branch(i, 20 )/branch(i, 19 ); % end end end branch1=branch; end

%% 加入分布式电源后的可靠性评估 clc; clear; %% 读取数据 branch=load(’算例dg.txt’); %% 主程序 tic branchzuixiaolu=zuixiaolufa(branch); % 调用最小路法 zuixiaolufacanshujisuan=canshujisuan(branchzuixiaolu,1); % 计算可靠性指标 toc; % 计算时间

1 17 4 0 .006 4 0 .2 0 2 18 5 0 .037 1 0 1 .2 3 19 5 0 .037 1 0 1 .2 4 20 5 0 .037 1 0 1 .2 5 21 5 0 .037 1 0 1 .2 6 22 5 0 .037 1 0 1 .2 7 23 5 0 .037 1 0 1 .2 8 24 5 0 .037 1 0 1 .2 9 25 5 0 .037 1 0 1 .2 10 26 5 0 .037 1 0 1 .2 11 27 5 0 .037 1 0 1 .2 12 28 5 0 .037 1 0 1 .2 13 29 5 0 .037 1 0 1 .2 14 30 4 0 .006 4 0 .2 0 15 31 5 0 .037 1 0 1 .2 17 2 1 0 .0163 4 0 0 18 3 1 0 .0163 4 0 0 19 4 1 0 .0163 4 0 0 20 5 1 0 .0163 4 0 0 21 6 1 0 .0163 4 0 0 22 7 1 0 .0163 4 0 0 23 8 1 0 .0163 4 0 0 24 9 1 0 .0163 4 0 0 25 10 1 0 .0163 4 0 0 26 11 1 0 .0163 4 0 0 27 12 1 0 .0163 4 0 0 28 13 1 0 .0163 4 0 0 29 14 1 0 .0163 4 0 0 30 15 1 0 .0163 4 0 0 31 16 1 0 .0163 4 0 0 2 32 2 0 .003 3 0 0 3 33 2 0 .003 3 0 0 4 34 2 0 .003 3 0 0 5 35 2 0 .003 3 0 0 6 36 2 0 .003 3 0 0 7 37 2 0 .003 3 0 0 8 38 2 0 .003 3 0 0 9 39 4 0 .006 4 0 .2 0 10 40 2 0 .003 3 0 0 11 41 2 0 .003 3 0 0 12 42 2 0 .003 3 0 0 13 43 4 0 .006 4 0 .2 0 14 44 2 0 .003 3 0 0 15 45 2 0 .003 3 0 0 32 47 7 0 .002 2 0 0 33 48 7 0 .002 2 0 0 34 49 7 0 .002 2 0 0 35 50 7 0 .002 2 0 0 36 51 7 0 .002 2 0 0 37 52 7 0 .002 2 0 0 38 53 7 0 .002 2 0 0 40 55 7 0 .002 2 0 0 41 56 7 0 .002 2 0 0 42 57 7 0 .002 2 0 0 44 59 7 0 .002 2 0 0 45 60 7 0 .002 2 0 0 46 61 7 0 .002 2 0 0 39 106 5 0 .037 1 0 1 .2 62 107 5 0 .037 1 0 1 .2 63 108 5 0 .037 1 0 1 .2 64 109 5 0 .037 1 0 1 .2 65 110 5 0 .037 1 0 1 .2 106 62 1 0 .0163 4 0 0 107 63 1 0 .0163 4 0 0 108 64 1 0 .0163 4 0 0 109 65 1 0 .0163 4 0 0 110 66 1 0 .0163 4 0 0 39 67 2 0 .003 3 0 0 62 68 2 0 .003 3 0 0 63 69 2 0 .003 3 0 0 64 70 2 0 .003 3 0 0 65 71 2 0 .003 3 0 0 66 72 2 0 .003 3 0 0 67 73 1 0 .0163 4 0 0 68 74 1 0 .0163 4 0 0 69 75 1 0 .0163 4 0 0 70 76 1 0 .0163 4 0 0 71 77 1 0 .0163 4 0 0 72 78 1 0 .0163 4 0 0 73 79 7 0 .002 2 0 0 74 80 7 0 .002 2 0 0 75 81 7 0 .002 2 0 0 76 82 7 0 .002 2 0 0 77 83 7 0 .002 2 0 0 43 112 5 0 .037 1 0 1 .2 85 113 5 0 .037 1 0 1 .2 87 114 5 0 .037 1 0 1 .2 88 115 5 0 .037 1 0 1 .2 112 85 1 0 .0163 4 0 0 113 87 1 0 .0163 4 0 0 114 88 1 0 .0163 4 0 0 115 89 1 0 .0163 4 0 0 43 90 2 0 .003 3 0 0 85 91 2 0 .003 3 0 0 87 92 2 0 .003 3 0 0 88 93 2 0 .003 3 0 0 89 94 2 0 .003 3 0 0 90 95 1 0 .0163 4 0 0 91 96 1 0 .0163 4 0 0 92 97 1 0 .0163 4 0 0 93 98 1 0 .0163 4 0 0 94 99 1 0 .0163 4 0 0 95 100 7 0 .002 2 0 0 96 101 7 0 .002 2 0 0 97 102 7 0 .002 2 0 0 98 103 7 0 .002 2 0 0 99 104 7 0 .002 2 0 0 16 46 2 0 .003 3 0 0

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐