Why won't MATLAB let me open any files, scripts, or anything at all?

73 次查看(过去 30 天)
If I try opening a file or script by clicking on it from the command window, I get the following error:
Error using fullfile (line 51)
String input not supported.
Error in toolboxdir (line 22)
s=fullfile(matlabroot,'toolbox', tbxdirname);
Error in matlab.ui.internal.dialog.DialogUtils.imreadDefaultIcon (line 38)
iconFileName = fullfile(toolboxdir('matlab'), 'uitools', 'private', ['icon_' iconName '_32.png']);
Error in msgbox>setupStandardIcon (line 438)
[iconData, alphaData] = matlab.ui.internal.dialog.DialogUtils.imreadDefaultIcon(iconName);
Error in msgbox (line 353)
Img = setupStandardIcon(IconAxes, IconString);
Error in errordlg (line 47)
handle = msgbox(ErrorStringCell,DlgName,'error',Replace);
Error in uiopen (line 194)
errordlg(err);
If I try opening a file by using the open command, I get a different error (see below). Either way, I can't open any scripts at all!
Error using which
Arguments must contain a character vector.
Error in finfo (line 60)
openAction = which(['open' ext '(''char'')']);
Error in open (line 114)
[~, openAction] = finfo(fullpath);
Any suggestions? I've been a MATLAB user for 3 years and this has never happened before.
  5 个评论
Walter Roberson
Walter Roberson 2017-11-14
You can get those kinds of errors about which and open if you attempt to which() or open() using one of the new string objects instead of a character vector. For example
>> which("polyfit")
Error using which
Arguments must contain a character vector.
One of the ways that you can end up with a string instead of a character vector is if you used uiimport, which in the last couple of releases has defaulted to importing text as string instead of as character vector.

请先登录,再进行评论。

回答(2 个)

Blake Porter
Blake Porter 2018-2-20
Opening matlab as administrator fixes this for me. Matlab R2017a

Walter
Walter 2018-4-11
The same problem here. I am confident the code is fine because it runs using 2016a but once upgraded to 2017b nothing works.
  1 个评论
Walter Roberson
Walter Roberson 2018-4-11
As I posted above,
"One of the ways that you can end up with a string instead of a character vector is if you used uiimport, which in the last couple of releases has defaulted to importing text as string instead of as character vector."

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by