求助:Matlab无法识别用户环境变量,无法执行lqns命令
解决Matlab中无法调用lqns命令的问题
临时解决方案(单次会话有效)
在Matlab脚本里调用system命令前,手动将lqns的路径添加到Matlab的环境变量中:
% 把lqns所在目录加入PATH setenv('PATH', [getenv('PATH') ':/home/robb/Research/dist/lqns-6.2/lqns']); % 执行lqns命令 [status, ~] = system("lqns " + filename, '-echo');
永久解决方案(每次启动Matlab自动生效)
在用户目录的~/Documents/MATLAB下创建或编辑startup.m文件,添加以下代码:
setenv('PATH', [getenv('PATH') ':/home/robb/Research/dist/lqns-6.2/lqns']);
Matlab启动时会自动执行这个脚本,后续所有会话都能直接调用lqns命令。
极简解决方案(无需修改环境变量)
直接使用lqns的绝对路径调用,绕过PATH查找:
[status, ~] = system("/home/robb/Research/dist/lqns-6.2/lqns/lqns " + filename, '-echo');
为什么之前的系统配置修改无效?
Matlab启动时不会加载bash的交互式配置文件(如~/.bashrc、/etc/bash.bashrc);/etc/environment的修改需要重启系统才能被图形界面启动的Matlab继承,且部分桌面环境可能不会自动同步该文件的更新。
内容的提问来源于stack exchange,提问作者Robb1
相关产品推荐
相关产品推荐

