I want to make a function with save option.

2 visualizaciones (últimos 30 días)
aneps
aneps el 27 de Mayo de 2014
Comentada: Mahdi el 28 de Mayo de 2014
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?

Respuesta aceptada

Mahdi
Mahdi el 27 de Mayo de 2014
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 comentarios
aneps
aneps el 28 de Mayo de 2014
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
Mahdi
Mahdi el 28 de Mayo de 2014
No problem :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Low-Level File I/O en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!

Translated by