How do I save structured objects into mat-files?

I am dealing with large object in my research. I am not familiar with class oriented programing in MATLAB. However, I wanted to save the object into Mat-files. I tried two following ways. But neither way works out with separate message:
objMain.obj1 = function1(Variables);
objMain.obj2 = function1(Variables);
objMain.obj3 = function1(Variables);
objMain.obj4 = function1(Variables);
dir2Save = 'C:\Documents\Matlab\Research';
fname = ['mainTask' int2str(1)];
save([dir2Save '\' fname '.mat'], objMain);
*Message:* _Error using save
_Argument must contain a string._
save([dir2Save '\' fname '.mat'], '-struct', objMain);
*Message:* _Error using save
The argument to -STRUCT must be the name of a scalar structure variable._
Does any body have any ideas how to solve....
Thanks for your help.
Mahesh

1 commentaire

Stephen23
Stephen23 le 31 Juil 2016
@Mahesh: I fixed your incorrect terminology: an M-file is a script or function, a mat file is a binary file used to store data.

Connectez-vous pour commenter.

 Réponse acceptée

the cyclist
the cyclist le 30 Juil 2016
Modifié(e) : the cyclist le 30 Juil 2016
Try
save([dir2Save '\' fname '.mat'], 'objMain')
You needed to enclose the variable name in quotes, as the second argument.

5 commentaires

save( fullfile(dir2Save, [fname '.mat']), 'objMain')
Mahesh
Mahesh le 30 Juil 2016
Thank you so much...
Stephen23
Stephen23 le 30 Juil 2016
@Mahesh: it is better to use fullfile than a simple concatenation.
the cyclist
the cyclist le 30 Juil 2016
Cross-platform compatibility, or other reasons?
Mahesh
Mahesh le 30 Juil 2016
I am not sure about fullfile. Could you please help me how to use such. Since I am making file name as variable depending upon the parameters. Thanks for suggestions

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by