Open just some Graph Edges in Variable Editor and let the user modify them?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Giuseppe Antonio
am 22 Nov. 2019
Beantwortet: Christine Tobler
am 22 Nov. 2019
In order to show the user only a part of the graph, let's say only the edge number 1350, I use the following code:
openvar('G.Edges(1350,:)')
Afterwards when I direcly try to modify some values inside the Variable Editor, let's say the ColName value, I get the error:
"Direct editing of edges is not supported. Use addedge or rmedge instead".
I think this happens because the way the value is accessed is "G.Edges(1350, :).ColName" instead of "G.Edges.ColName(1350,:)".
The goal is to show only some edges in the Variable Editor and let the user modify them. Anyway, how can I solve the problem?
0 Kommentare
Akzeptierte Antwort
Christine Tobler
am 22 Nov. 2019
That's tricky: In terms of assignment, if G.Edges(i, :) is assigned to, the graph class interprets this as assigning to all elements, including EndNodes, even if that property is not modified.
One approach would be to only open the properties of the edge in the variable editor, but not the first variable EndNodes:
>> openvar('G.Edges(1350,2:end)')
This will allow the value to be changed, but of course it will not display which edge is currently being changed.
You might provide some of that information in a bit of a roundabout fashion like this:
>> edge_1_3 = 4;
>> openvar('G.Edges(edge_1_3, 2:end)')
The variable name of the index into the edges is displayed at the top of the variable editor, which could be some indication to your user of which edge is currently being shown.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graph and Network Algorithms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!