error when using clearvars

After updating my mac to Yosemite, everytime I call the function clearvars (e.g.
clearvars x y;
or:
clearvars -except z
)I have the following error:
Error using strjoin (line 14) Expected input to be one of these types:
char
Instead its type was cell.
Error in clearvars>createPattern (line 188) pattern = sprintf('(%s)$', strjoin(variableArgs, '|'));
Error in clearvars (line 70) clearVarPat = createPattern(clearVarArgs, flags.regexpClear);
Any help to solve this issue?

2 Comments

Alberto - which version of MATLAB are you using? Also, in the command window, type
which strjoin -all
What is returned?
Your question solved the problem. I had creepy strjoin.m in the path.
Many Thanks!!

Sign in to comment.

 Accepted Answer

Alberto ran the command
which strjoin -all
and noticed that he had a "creepy" strjoin.m file in the path.

More Answers (3)

Chandan Behera
Chandan Behera on 8 Nov 2018
>> which -all strjoin C:\Program Files\MATLAB\R2018a\toolbox\matlab\strfun\strjoin.m
if there are any other strjoin.m then go to setpath in matlab and copy all the matlab folders to the top of the list.
Worked fine for me. You can try the function form if you want
clear('x', 'y');
clearvars('-except', 'z')
See if that works. I even tried it with cells and it worked. You don't have any functions called x, y, or z do you? They're variables, right?
Kim Yano
Kim Yano on 31 Oct 2017
Hello, im having the same issue, how i choose the correct strjoin?

1 Comment

Do
>> which -all strjoin
You should see
>> which -all strjoin
C:\Program Files\MATLAB\R2017b\toolbox\matlab\strfun\strjoin.m
Rename any other strjoin that you may have written so that it has a different name.

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!