Saving a graph with edges and nodes

1 visualizzazione (ultimi 30 giorni)
Deepa Maheshvare
Deepa Maheshvare il 7 Set 2019
Commentato: Stephan il 9 Set 2019
Hi All,
I have the following graph with nodes and edges. This graph is creadted in a function defined in file create.m. Can this graph be stored and access in
another file , another.m (for instance, I'd like to assign weights to the edges of the graph in another file)?
I understand I can call the function defined in create.m from another.m. However, I don't want to do this. Instead, I prefer saving the graph object and accessing it in other
files.
NNode = 11;
tail = 1:NNode-1;
head = 2:NNode;
Graph = graph(tail,head);
plot(Graph);

Risposta accettata

Stephan
Stephan il 7 Set 2019
Modificato: Stephan il 7 Set 2019
You can not save a workspace object in a .m-file. Use a .mat-file instead to save your graph. You can load this in other scripts to work with.
  2 Commenti
Deepa Maheshvare
Deepa Maheshvare il 7 Set 2019
Thanks a lot for the response.
I did try using .mat
save('Graph.mat', 'Graph')
>> Graph = load('Graph.mat')
Graph =
struct with fields:
Graph: [1×1 graph]
I could access the nodes and edges properties using
>> height(Graph.Graph.Edges).
However, when
save('Graph.mat', '-struct', 'Graph')
is used, I get the following error
Error using save
The argument to -STRUCT must be the name of a scalar structure variable.
Error in create_graph (line 14)
save('Graph.mat', '-struct', 'Graph')
Stephan
Stephan il 9 Set 2019
Note that a graph object is not a struct - thus you can not do it this way.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Specifying Target for Graphics Output in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by