MATLAB Answers

0

load files whith a previus specified name

Asked by Beatriz Sanchez on 19 Apr 2019
Latest activity Commented on by Beatriz Sanchez on 19 Apr 2019
hello all,
so, I want to load a file whose name is previously specified in a variable:
alf=0
pol=1
name= [(strcat('1beatrixresult Aplha=', num2str(alf), '- p=', num2str(pol)))]
load (name)
Now, matlab gives me an error:
Error using load
Unable to read file '1beatrixresult Aplha=0- p=1'. No such file or directory.
But I know that the file does exist. In fact if I writte it like this:
load ('1beatrixresult Alpha=0- p=1')
then matlab load the file without problem. Any idea of what could be causing this error and how can I fix it? thank you before hand

  2 Comments

Works for me, but you might want to clean up your fkilenames. Try to avoid spaces, equal signs etc. Use underscore if you must.
Let's start by generating a data (.mat) file with some dummy data, and the (awkward) filename you have.
%%
clear
dummyVar = -pi; % some dummy data
save('1beatrixresult Aplha=0- p=1')
clear
Now clear the workspace, and try to reload it. Make sure that the .mat file exists though.
%% Now try to load it
clear
% form .mat data file name
alf=0;
pol=1;
name = [(strcat('1beatrixresult Aplha=', num2str(alf), '- p=', num2str(pol)))]
if ~(exist(name,'file')==2)
warning('No file found') % prudent to check
end
load(name)
disp(dummyVar)
Works for me. If you are on Windows, your filename has spaces, and that's traditionally a big no no. You need to use double quotes in DOS. You should also have a recent version of Matlab as well. Check with ver.
Of course all your (self-inflicted) problems would go away if you had a safer filename scheme.
thank you very much, you're right about my akward way of name the files. However, It was just a typo in the name variable... thank you for you time

Sign in to comment.

Tags

Products


Release

R2016a

1 Answer

Answer by Jos (10584)
on 19 Apr 2019
 Accepted Answer

Didn't you just make a simple typo?
% Aplha vs Alpha
% | |

  1 Comment

omg! and I never notied, even when I triple check that :-o
thank you

Sign in to comment.