i have a few structures i want to save in mat file. eg
s(1).a = 'hello'; s(1).b = 99; s(2).a = 'bye'; s(3).b = 82;
i want to save structure s(1) and s(2) into a mat file. i did this, save('test_struct.mat',marker(1)); but it give me error, Argument must contain a string.

3 Kommentare

Jan
Jan am 17 Jul. 2013
What is "marker(1)"?
genesis
genesis am 17 Jul. 2013
sorry it was save('test_struct.mat',s(1));
Jan
Jan am 17 Jul. 2013
@genesis: And now you have seen David's answer, which explains, that you need the string 's' instead of the variable s(1). If this solves your problem, please accept his answer.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

David Sanchez
David Sanchez am 17 Jul. 2013

10 Stimmen

When using save, the name of the variable to be saved has to be a string:
s.name='ww';
s.age=22;
save('test.mat','s')
For structs, try the following, copied from matlab documentation:
Save the fields of structure s1 as individual variables. Check the contents of the file with the whos function. Clear the workspace and load the contents of a single field.
s1.a = 12.7;
s1.b = {'abc', [4 5; 6 7]};
s1.c = 'Hello!';
save('newstruct.mat', '-struct', 's1');
disp('Contents of newstruct.mat:')
whos('-file', 'newstruct.mat')
clear('s1')
load('newstruct.mat', 'b')

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by