在为MATLAB编写mex函数时定位数据文件

我编写一个mex文件时遇到了麻烦,我在其中加载了存储在数据文件中的外部数据 . 该问题与定位/查找数据文件的正确路径有关,与MATLAB中的当前工作路径有关 . 例如,假设我有一个文件夹 myfolder ,其中我放置1)mex可执行文件 prog.mex 和2)数据文件 data.txt . 现在在我的mex源代码中,我可以尝试通过编写来查找数据文件

if(access("data.txt", F_OK) == 1) { // load the file etc. }

只要我在MATLAB中浏览到文件夹 myfolder 后执行mex文件,这样就可以正常工作 . 但是,我希望能够从任何地方调用mex文件,即通过MATLAB的 addpath() 函数添加到 myfolder 的路径 . 然后,显然,即使我仍然可以执行mex文件,也无法再找到数据文件 . 以某种方式仍然可以以某种方式找到数据文件吗?

谢谢!

回答(0)