Minimum spanning tree of an IEEE bus network
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
sibabalo noludwwe
le 23 Juil 2019
Réponse apportée : sibabalo noludwwe
le 29 Juil 2019
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 commentaires
Réponse acceptée
Hari Krishna Ravuri
le 29 Juil 2019
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 commentaires
Hari Krishna Ravuri
le 29 Juil 2019
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.
Plus de réponses (2)
sibabalo noludwwe
le 29 Juil 2019
1 commentaire
Hari Krishna Ravuri
le 29 Juil 2019
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
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!