Minimum spanning tree of an IEEE bus network
조회 수: 7 (최근 30일)
이전 댓글 표시
hi Guys.
I have a 9 bus IEEE test feeder in Simulink and I would like to get a minimum spanning tree from one node to the other. the problem is I am struggling to automatical represent the physical network in matlab so I can peform minimum spanning tree.
how do I represent a physical network by its edges and nodes in matlab from simulink.
thanks
댓글 수: 2
채택된 답변
Hari Krishna Ravuri
2019년 7월 29일
Hi,
I understand that you have a 9 bus IEEE test feeder model in Simulink and wanted to get a Minimum Spanning Tree for the network. As of now, there is no in-built function in MATLAB or Simulink to convert a Simulink model into a Graph. But you can write a script to perform this. For this you need to decide what blocks in the Simulink model will be interpreted as Nodes and what blocks / connections will be interpreted as edges in the graph.
You can use the get_param property to get to the Outport and you can start traversing the whole network. When you traverse a block update the Graph depending on the way you want to interpret the block either as a node or as an edge. If the network is complex, you may traverse the same graph more than once. In this case, I suggest you perform a Depth First Traversal. Please refer https://www.mathworks.com/help/simulink/slref/block-specific-parameters.html for Block specific parameters. Once the graph is ready, if the graph is dense, I suggest using Prims Minimum spanning tree algorithm. If the graph is sparse, I suggest using Kruskal's Minimum spanning tree algorithm.
댓글 수: 2
Hari Krishna Ravuri
2019년 7월 29일
Having three lines between two blocks can be viewed as multigraph. You can convert three lines as one edge by converting the multigraph into a single graph. Please refer https://www.mathworks.com/help/matlab/ref/graph.simplify.html for more information. By using get_param you can get the line parameters and calculate the cost.
추가 답변 (2개)
sibabalo noludwwe
2019년 7월 29일
댓글 수: 1
Hari Krishna Ravuri
2019년 7월 29일
The simplify function takes the Graph object as Input. Please refer https://www.mathworks.com/help/matlab/ref/graph.simplify.html#mw_69007ace-39e1-4301-84d6-d832f76a95ee_sep_shared-G
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!