How to convert string into filename then use load comment to load the file

33 views (last 30 days)
i have a question on how to make use of string variable specifying a filename on the load command to load the data into the workspace. the partial code of the function i wrote is:
function input_data str1 = input('first part of filename:, 's'); str2 = input('second part of filename:, 's');
target_file = strcat(str1, str2, '_test_data');
then... % how to use load command to load the file specified by the target_file string variable into the working space.
running the function input_data should do:
first part of filename: first second part of filename: second
now the content of target_file should be 'firstsecond_test_data'
The question is how to make use of target_file with the load command so the the file firstsecond_test_data.mat can be loaded into the working space.

Answers (3)

angus wu
angus wu on 12 May 2011
i solved it.
load (target_file)
thanks all

Andy on 12 May 2011
Have you tried:
load [target_file '.mat']
If so, what didn't work the way you wanted?
EDIT: It turns out the use of brackets in this way with load and save is deprecated, and the brackets here are not just concatenation as I thought. The correct use, as you discovered, is
load target_file
Alternatively, you can use the functional syntax:
S = load(target_file)
to avoid 'poofing' variables into the workspace.

angus wu
angus wu on 12 May 2011
no. it does not work as
??? Error using ==> load Unable to read file [target_file '.mat']: No such file or directory.
Error in ==> inputfile at 4 load [target_file '.mat']


Find more on Search Path in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!