配电系统的线性三相潮流研究【IEEE123节点】(Matlab代码实现)

 👨‍🎓个人主页

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章讲解


💥1 概述

文献来源:

 本文提出了三相配电系统的线性潮流。考虑平衡和非平衡运行以及负载的ZIP模型。该方法不需要任何与R/X率。尽管它很简单,但与传统的后向扫描算法相比,它非常准确。

直流功率流是电力系统分析和运行研究最多的方法之一[1]。然而,这种线性近似不适用于配电系统,因为它们高R/X比率和不平衡操作[2]。这封信通过在复平面上使用线性近似来解决这个问题。不需要径向拓扑。不考虑光伏节点,但在电网规范强制这些发电机单位功率因数运行的情况下,可以包括配电发电机。

📚2 运行结果

 

部分代码:

function ShowResults(Res,Feeder);

fprintf('---------------%s---------------\n',Feeder.Options.Name);
fprintf('Total Losses : %5.4f  kW\n',Res.Perd);
%fprintf('N Iterations : %i  \n',Res.iter);
if Feeder.Options.DeltaLoadFlow
%% Voltajes de linea
  disp('------- LINE TO LINE VOLTAGES ----------------------------------------------------------');
  format short
  fprintf('NODE\tVAB(pu)\t VAB(deg)\t VBC(pu)\tVBC(deg)\tVCA(pu)\tVCA(deg)\n'); 
  for k = 1:Feeder.NumN
      V = abs(Res.Vpu_line(k,:));
      A = angle(Res.Vpu_line(k,:))*180/pi;
      n = Feeder.Nodes_ID(k);
      if (n<10)
        fprintf('N%i  \t',Feeder.Nodes_ID(k));
      else
        if (n<100)
        fprintf('N%i \t',Feeder.Nodes_ID(k));    
        else
        fprintf('N%i\t',Feeder.Nodes_ID(k));
        end
      end
      for m = 1:3     
          if (V(m)>0.1)
             fprintf('%5.4f < ',V(m));
             if (A(m)>0)
                 fprintf(' %5.4f \t ',A(m));
             else
                 fprintf('%5.4f \t ',A(m));
             end
          else
             fprintf('.                  \t ') 
          end
      end
      fprintf('\n');            
  end
else 
% Voltajes de fase
disp('--------PHASE VOLTAGES ---------------------------------------------------------');
 format short
  fprintf('NODE\tVAn(pu)\t VAn(deg)\t VBn(pu)\tVBn(deg)\tVCn(pu)\tVCn(deg)\n'); 
  for k = 1:Feeder.NumN
      V = abs(Res.Vpu_phase(k,:));
      A = angle(Res.Vpu_phase(k,:))*180/pi;
      n = Feeder.Nodes_ID(k);
      if (n<10)
        fprintf('N%i  \t',Feeder.Nodes_ID(k));
      else
        if (n<100)
        fprintf('N%i \t',Feeder.Nodes_ID(k));    
        else
        fprintf('N%i\t',Feeder.Nodes_ID(k));
        end
      end
      for m = 1:3     
          if (V(m)>0)
             fprintf('%5.4f < ',V(m));
             if (A(m)>0)
                 fprintf(' %5.4f \t ',A(m));
             else
                 fprintf('%5.4f \t ',A(m));
             end
          else
                fprintf('.                  \t ') 
          end
      end
      fprintf('\n');            
  end
end
% %disp([Feeder.Nodes_ID,abs(Res.Vpu_line(:,1)),angle(Res.Vpu_line(:,1))*180/pi,abs(Res.Vpu_line(:,2)),angle(Res.Vpu_line(:,2))*180/pi,abs(Res.Vpu_line(:,3)),angle(Res.Vpu_line(:,3))*180/pi]);    


%disp('Reguladores')
%lin = Feeder.Regulators(:,1);    
%N1 = Feeder.Nodes_ID(Feeder.Topology(lin,1));
%N2 = Feeder.Nodes_ID(Feeder.Topology(lin,2));
%disp([N1 N2]);


%Res.Vpu_phase = conj(Vs')/Vbase_fase;
% Res.Vpu_line  = Vlin/Vbase_lin;
% Res.Inodes = -conj(Inodal');  % entrando al nodo
% Res.Ilines = conj(Is');
% Res.iter = iter;
% Res.err = err;
% Res.Perd = Sperdidas;
% Res.Sort = Sort;
 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码、数据、文章讲解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值