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 Comment

@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.

Sign in to comment.

 Accepted Answer

Try
save([dir2Save '\' fname '.mat'], 'objMain')
You needed to enclose the variable name in quotes, as the second argument.

5 Comments

save( fullfile(dir2Save, [fname '.mat']), 'objMain')
Thank you so much...
@Mahesh: it is better to use fullfile than a simple concatenation.
Cross-platform compatibility, or other reasons?
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

Sign in to comment.

More Answers (0)

Products

Asked:

on 30 Jul 2016

Commented:

on 31 Jul 2016

Community Treasure Hunt

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

Start Hunting!