MATLAB Answers

0

Error using save Cannot create '_' because '_____' does not exist.

Asked by Matteo Niccoli on 24 Mar 2015
Latest activity Commented on by Matteo Niccoli on 24 Mar 2015
I have some data in a cell array,
data2={[50,1;49,1;26,1];...
[36,2;12,2;37,2;24,2;47.3,2];}
and names in another cell array,
names2={'xxx/01-ab-07c-0fD3/0';'xxx/01-ab-07s-0fD3/6';}
I want to extract a subset of the data,
data2_subset=data2{1,:}(:,1);
then a temporary file name,
tempname2=char(names2(2));
an save the subset to a text file with
save (tempname2, 'data2_subset', '-ASCII');
But I get this error message: _
Error using save
Cannot create '6' because 'xxx/01-ab-07s-0fD3' does not exist.
To try to understand what is happening, I created a mock dataset with simpler names:
names={'12-05';'14-03'};
data={[50,1;29,1;25,1];[35,2;22,2;16,2;38,2];[40,3;32,3;10,3;44,3;43,3];};
data_subset=data{1,:}(:,1);
tempname=char(names(2));
save (tempname, 'data_subset', '-ASCII');
in which case the save command works properly.
Unfortunately I still do not understand what the problem is in the first case. Any suggestions as to what is happening, and possible solutions?

  0 Comments

Sign in to comment.

1 Answer

Answer by the cyclist
on 24 Mar 2015
 Accepted Answer

MATLAB is interpreting the "/" characters as separators in a directory structure. It is looking for a directory and subdirectory
xxx/01-ab-07s-0fD3

  4 Comments

Show 1 older comment
This was suggested on stackoverflow:
tempname3= strrep(tempname2,'/','_');
save (tempname3, 'data2_subset', '-ASCII');
I'm not sure what you want to do. You can't make MATLAB write that filename, because the operating system won't allow a filename with slashes in it. Right?
You are right, there is no other solution than replacing those slashes.

Sign in to comment.