有人可以告诉我如何使用Matpower 3.2访问潮流计算结果吗?在手册中,有一条指令要执行以下操作(例如访问“从”总线端注入的实际功率):
$em->remove($entity)
但是,当我这样做时,没有任何结果,因为结果被保存为变量并且值为100,并且看起来结果(在这种情况下来自总线端的实际功率,或任何其他变量)不是存储在任何地方但打印在命令列表中
答案 0 :(得分: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(我已经使用过它了很多),我无法回答。 子>