首页 > 解决方案 > 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 上运行它。

标签: macosmatlab

解决方案


当您<...>在值定义或类似示例中看到括号时,通常表示“将其替换为适合您环境的实际值”,而不是<...>在值中使用文字括号。所以代替这个:

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 包吗?


推荐阅读