I want to make a function with save option.

I have the following code in my script (this code looks for the file in directory and save with filename#, numbering sequentially).
%To save several files with same name and numbering each file
mylist=dir('file*.dat');%see in the current folder if the file with same name exists
number=length(mylist);%number of files with name 'file'
filename=sprintf('file_%d.dat',number+1);%name the file with number
save(filename,'LP','-ascii')%save the file in .dat format
I want to make this a function so that I can use it in several places by just calling the function. I did like following, but not working!
function [ output_args ] = saveseq( filename, variable )
mylist=dir('filename*.dat');%see in the current folder if the file with same name exists
number=length(mylist);%number of files with name 'filename'
filename=sprintf('filename_%d.dat',number+1);%name the file with number
save(filename,'variable','-ascii')%save the file in .dat format
end
it is saying 'name' and 'variable' are unused!.. how can I feed 'filename' and 'variable' into the code so that it can be used as a function?

 Accepted Answer

The problem is in the way you're handling the variables. Basically, the inputs to your function in this case are taken as variables, but you're never using the variables inside the function (because of the way you've defined it), basically:
To call the function, use
savesq('name1', 'variable1')
then, inside the function, use
string1=sprintf('_%d.dat', number+1)
filename1=strcat(filename,string1)
save(filename1, variable, '-ascii')

3 Comments

Yes it works thank you... But there is another problem that this time inside the function
mylist=dir('name1*.dat')
is not doing the job! it is not really finding the files with name* (files with name and ending with numbers) in the directory!
Oh.... thank you... I solved it... I just modified as follows
name='Test_1s';
findfile=strcat(name,'*.dat');
mylist=dir(findfile);
Then as normally as you have suggested
number=length(mylist);
string1=sprintf('_%d.dat', number+1)
filename1=strcat(filename,string1)
save(filename1, variable, '-ascii')
This works very well.... thank you again... I think I am improving each day :D
No problem :)

Sign in to comment.

More Answers (0)

Categories

Tags

No tags entered yet.

Asked:

on 27 May 2014

Commented:

on 28 May 2014

Community Treasure Hunt

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

Start Hunting!