saving a structure in mat file

412 vues (au cours des 30 derniers jours)
genesis
genesis le 17 Juil 2013
Commenté : Matthew Creek le 23 Août 2023
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 commentaires
genesis
genesis le 17 Juil 2013
sorry it was save('test_struct.mat',s(1));
Jan
Jan le 17 Juil 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.

Connectez-vous pour commenter.

Réponse acceptée

David Sanchez
David Sanchez le 17 Juil 2013
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')

Plus de réponses (0)

Catégories

En savoir plus sur Workspace Variables and MAT Files dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by