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);

 채택된 답변

Stephan
Stephan 2019년 9월 7일
편집: Stephan 2019년 9월 7일

1 개 추천

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

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 2019년 9월 9일
Note that a graph object is not a struct - thus you can not do it this way.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

제품

태그

질문:

2019년 9월 7일

댓글:

2019년 9월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by