0

有人可以告诉我如何使用 Matpower 3.2 访问潮流计算的结果吗?在手册中,有一条指令可以执行以下操作(例如访问在“从”总线端注入的实际功率):

mpc = loadcase('case14')
results = runpf(mpc)
branch_pf = results.branch(:, 14)

但是,当我这样做时,什么也没有出现,因为结果被保存为一个变量,值为 100,看起来结果(在这种情况下来自总线端的实际功率,或任何其他变量)没有存储在任何地方,而是打印在命令列表中。 

4

1 回答 1

0

当您运行第一行代码时,您将系统数据加载到一个名为mpc. 该结构包含执行潮流研究所需的所有信息。

对于'case14',它应该如下所示:

mpc =     
    version: '2'
    baseMVA: 100
        bus: [14x13 double]
        gen: [5x21 double]
     branch: [20x13 double]
    gencost: [5x7 double]

如果你在这里有不同的东西,那么你就搞砸了。

当你运行第二行代码时,你会得到类似这样的东西,然后是大量的结果行,所有的行都很好地格式化了标题等。

MATPOWER Version 4.1, 14-Dec-2011 -- AC Power Flow (Newton)

Newton's method power flow converged in 2 iterations.

Converged in 1.14 seconds
================================================================================
|     System Summary                                                           |
================================================================================

How many?                How much?              P (MW)            Q (MVAr)
---------------------    -------------------  -------------  -----------------
Buses             14     Total Gen Capacity     772.4         -52.0 to 148.0
Generators         5     On-line Capacity       772.4         -52.0 to 148.0

现在,您不想看到结果,而是想存储它们,对吗?如果你有 Matpower 的工作版本,并且没有搞砸任何文件,你应该得到一个results像这样的变量:

results = 
    version: '2'
    baseMVA: 100
        bus: [14x13 double]
        gen: [5x21 double]
     branch: [20x17 double]
    gencost: [5x7 double]
      order: [1x1 struct]
         et: 1.1400
    success: 1

注意最后的success属性。如果不是1,则意味着解决方案没有收敛。显然,作为case14一个示例案例,这是错误的。除非你搞砸了,否则你应该有success: 1.

最后一行实际上做了你想要的。前六个支路的有功潮流为:

branch_pf = results.branch(:, 14)
branch_pf =    
  156.8829
   75.5104
   73.2376
   56.1315
   41.5162
  -23.2857

运行这些行之后,这就是我的工作区的样子: 在此处输入图像描述

这实际上是一个离题的问题,但由于这是我见过的第一个与电力系统相关的问题,而且您使用的是 Matpower(我已经使用过很多次),所以我无法不回答。

于 2015-08-10T20:33:22.970 回答