This is a setting that that MATLAB finds from the system environment variables. You can set or query the environment variable using the SETENV and the GETENV functions from within MATLAB as well. Please see below for the system level settings.
FOR LINUX/MAC:
MATLAB will check for the environment variable 'TMPDIR' (getenv('TMP')) from the system and if this is empty MATLAB will check environment variable 'TMP' if this is empty, MATLAB will use '/tmp/' as the temporary directory. You can set the 'TMP' environment variable to some other directory and MATLAB will use that as the TEMPDIR after a restart.
FOR WINDOWS:
MATLAB similarly checks the 'TMP' environment variable first and if it is empty, MATLAB will check the 'TEMP' environment variable. If this is empty, MATLAB checks the environment variable 'USERPROFILE'. If this is also empty, MATLAB will use 'C:\temp' as tempdir. MATLAB will use that as the TEMPDIR after a restart.
In order to change the system setting of a running MATLAB session which does not need a restart, here is a quick example:
The 'clear' function call is necessary to reset the tempdir state in order to refresh the tempdir path when changing the environment variable in a running session.
tempdir
clear tempdir
if ispc
setenv('TMP','NEW_DIRECTORY_PATH')
else
setenv('TMPDIR','NEW_DIRECTORY_PATH')
end
tempdir