Ubuntu下Matlab R2016b路径不能永久保存的问题及其解决方案
2018年04月22日 11:16:53 wsl8779752 阅读数:288 标签: Matlab Ubuntu Linux 系统路径不能永久保存 更多
个人分类: 技术博客
问题 :
1.最近在ubuntu 下用matlab 与arduino进行仿真,每次将路径保存到系统路径后,电脑一重启保存的路径就没了。参考博主 xmjdh的文章(下面链接)修改/usr/local/MATLAB/R2016b/toolbox/local/pathdef.m (以下称该目录为系统默认文件夹)的权限后,发现问题仍然存在。
2.打开pathdef.m后,发现添加的路径并没有写入到系统默认文件夹下的pathdef.m里。调查发现路径写到了home/wei/Documents/MATLAB/pathdef.m.m文件里。为什么会出现这种情况呢,因为matlab有一个系统自己添加的usrpath 文件夹,每次启动会自动将usrpath文件夹加入搜索路径,并且新添加的路劲会默认写到usrpath文件夹下的pathdef.m里(而不是上面链接所指的文件夹下的pathdef.m)。这样会导致即使按照上面参考链接的方法修改系统默认文件夹下pathdef.m的文件权限,也还是会Bug继续。
解决方法:
1. 先在matlab里将文件路径添加好
2. 在matlab命令行(注意不是系统shell)里输入: which -all pathdef 。楼主输入后,命令行中出现下面的字符。其中第二行就是上文所述的usrpath下的pathdef.m了,路径文件其实会写到这里。
3. 将usrpath下的pathdef.m 替换系统默认文件夹下的pathdef.m即可。在linux shell (终端)中输入:(这里的路径是楼主电脑的,童鞋们需要将路径改成自己电脑上相应路径,如果不知道自己的相应路径,请看解决方法第 2 步中出现的路径即可)
$sudo chmod 777 /home/wei/Documents/MATLAB/pathdef.m
$sudo chmod 777 /usr/local/MATLAB/R2016b/toolbox/local/pathdef.m
$sudo cp /home/wei/MATLAB/pathdef.m /usr/local/MATLAB/R2016b/toolbox/local/
4.大功告成,重启下电脑,然后启动matlab。发现系统路径已经永久保存了,完美。