macos - setenv 出错:MATLAB 上的 startup.m 文件“不存在或不可读”
问题描述
我正在使用一些 MATLAB 包来工作,并且在设置时我一直遇到这个问题。在包说明中,要求定义环境变量以指向我在脚本中使用的参考数据文件。因此,我在包目录中创建了一个 startup.m 文件,如说明所示,我在其中写道:
setenv('DIR_MODELS_REF_DAT', '</Users/username/Downloads/package/dat/iri2016>')
addpath /Users/username/Downloads/package/dat/iri2016
dat/iri2016 是我正在运行的脚本的数据文件所在的位置,保存并重新加载 MATLAB 并再次运行脚本。现在它一直给我错误信息:
Reference data file, </Users/username/Downloads/package/dat>/iri2016/igrf2015.dat, does not exist or is unreadable. Check that the environment variable DIR_MODELS_REF_DAT is set to the directory containing the reference data.
我不知道我应该重新加载我的 MATLAB 多少次才能完全包含路径。
我在 mac os 机器上的 MATLAB_R2020b 上运行它。
解决方案
当您<...>
在值定义或类似示例中看到括号时,通常表示“将其替换为适合您环境的实际值”,而不是<...>
在值中使用文字括号。所以代替这个:
setenv('DIR_MODELS_REF_DAT', '</Users/username/Downloads/package/dat/iri2016>')
你应该使用这样的东西:
setenv('DIR_MODELS_REF_DAT', '/Users/username/Downloads/package/dat/iri2016')
你应该用你的实际用户名替换那个“用户名”;例如,如果您的用户名是“jamie”,它应该是:
setenv('DIR_MODELS_REF_DAT', '/Users/jamie/Downloads/package/dat/iri2016')
一个更好的方法是使用以下命令查询您的主目录getenv
:
setenv('DIR_MODELS_REF_DAT', [getenv('HOME') '/Downloads/package/dat/iri2016'])
这样,当它作为不同的用户运行时,您不必修改代码。
你能告诉我们你在这里使用的是什么 Matlab 包吗?
推荐阅读
- javascript - 如何选择两个连续相邻的月份?
- linux - 直到 echo "success" linux
- nestjs - 用于 NestJS 应用程序/功能的 Profiler/Flamegraph
- go - Gin-Gonic NewRelic 集成
- python - 在 numpy 矩阵中查找具有不同列索引的逐行最大值列
- android - Android到Android屏幕镜像和通过adb控制
- python - 迭代熊猫系列元素的最佳方法
- c# - 如何以向后兼容的方式向 DTO 添加属性?
- javascript - 如何判断一个数是否为素数?如果不是,如何增加数字直到函数返回下一个素数?
- javascript - 警告:不匹配的伪类:host-context