Matlab关联m文件与m文件关联设置

时间:2021-08-02 21:33:03

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的设置里面关联 于是做出如下尝试。

Matlab关联m文件与m文件关联设置

点击preferences,进行设置。

Matlab关联m文件与m文件关联设置

发现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目录下

安装位置可以选在如下路径:

Matlab关联m文件与m文件关联设置

安装完成后,运行代码,便会无报错。

如果 关联项仍然无反应 ,还可以尝试先将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文件了。