While coding a script or a function, it can be the case that one or more than one temporary file be needed in order to, for example, store some data.
In order to avoid overwriting an existing file or to shadow a MATLAB function the tempname function can be used to generate a unique name for a temporary file in the system temporary folder.
The filename is generated without the extension; it can be added by concatenating
the desired extension to the name generated by
The locaton of the system temporary folder can be retrieved by caling the tempdir function.
If, during the execution of the function / script, the temporary file is no longer needed, it can be deleted by using the function delete
delete does not ask for confirmation, it might be useful to set
option to move the file to be deleted in the
This can be done by using the function recycle this way:
In the following example, a possible usage of the functions
recycle is proposed.
% % Create some example data % theta=0:.1:2*pi; x=cos(theta); y=sin(theta); % % Generate the temporary filename % my_temp_file=[tempname '.mat']; % % Split the filename (path, name, extension) and display them in a message box [tmp_file_path,tmp_file_name, tmp_file_ext]=fileparts(my_temp_file) uiwait(msgbox(sprintf('Path= %s\nName= %s\nExt= %s', ... tmp_file_path,tmp_file_name,tmp_file_ext),'TEMPORARY FILE')) % % Save the varaibles in a temporary file % save(my_temp_file,'x','y','theta') % % Load the varaibles from the temporary file % load(my_temp_file) % % Set the reclycle option on % recycle('on') % % Delete the temporary file % delete(my_temp_file)
The temporary filename is generated by using the
If MATLAB is run without JVM, the temporary filename is generated by using
matlab.internal.timing.timing based on the CPU counter and time. In this case
the temporary filename is not guaranteed to be unique.