MATLAB安装后经常出现m文件不能关联到matlab打开,很烦恼。网上有一些设置教程,比如:
链接一 按照链接方式一方式二设置后出现报错。
修改注册表亦没用。
下面链接
代码为:
cwd=pwd; cd([matlabroot '\toolbox\matlab\winfun\private']); fileassoc('add',{'.m','.mat','.fig','.p','.mdl',['.' mexext]}); cd(cwd); disp('Changed Windows file associations. FIG, M, MAT, MDL, MEX, and P files are now associated with MATLAB.');运行时可能报错: 但运行时却提示:Undefined function 'fileassoc' for input arguments of type 'cell'.
其中 运行代码的报错为
??? Error using ==> fileassoc No permissions to modify the registry.
链接五设置有所启发 ,在matlab central中找到一个添加注册表的程序 链接如下:链接六
尝试后发现效果不大 或者说没有效果。
如果通过上述设置已经关联m文件 ,可不必往下看。。。
网上又有说在matlab的设置里面关联 于是做出如下尝试。
点击preferences,进行设置。
发现Editor中默认关联的是Matlab Editor 。更改设置后仍然没效果。于是又改了回来,仍然选择matlab editor。无功而返。
在这个链接中看到
原来已管理员的方式运行matlab并运行代码 报错是因为 matlab更新版本中已经修改了地址
MATLAB中修改了fileassoc.m文件的路径,新的路径为:[matlabroot '\mcr\toolbox\matlab\winfun\private'],因此执行如下命令便可解决问题
代码为:
cwd=pwd; cd([matlabroot '\mcr\toolbox\matlab\winfun\private']); fileassoc('add',{'.m','.mat','.fig','.p','.mdl',['.' mexext]}); cd(cwd); disp('Changed Windows file associations. FIG, M, MAT, MDL, MEX, and P files are now associated with MATLAB.');运行结果不会出现报错。
要使程序运行不报错,使用这个办法 先安装MCR 该文件在D:\Program Files\MATLAB\R2014a\toolbox\compiler\deploy\win32目录下
安装位置可以选在如下路径:
安装完成后,运行代码,便会无报错。
如果 关联项仍然无反应 ,还可以尝试先将MCR文件夹下的D:\Program Files\MATLAB\R2014a\mcr\toolbox\matlab\winfun\private中的fileassoc.m和fileassoc.mexw32拷贝到原来的D:\Program Files\MATLAB\R2014a\toolbox\matlab\winfun\private中,执行原来的代码。此处注意,fileassoc.m文件是0Kb文件。但fileassoc.mexw32是10Kb。
执行完毕后,找到想要打开的.m文件,右键->打开方式->选择默认程序,选中MATLAB,并勾选“始终使用选择的程序打开这种文件”,确定即可。以后双击.m文件会默认使用MATLAB Editor打开。
原来的程序不再报错后 重启电脑。在试试是不是已经关联m文件了。