由于并没有转到程序所在目录下运行.exe文件,而load默认在当前目录中寻找与输入参数匹配的文件名,自然在load时会找不到对应的数据文件。
思路1:load的数据文件路径改为绝对路径。
思路2:脚本中切换到当前路径,并进行读取。
查阅了matlab文档,又到网上换了不同的方式查阅,总算是找到思路2的解决方案:
p1 = mfilename('fullpath');
i=findstr(p1,'\');
p1=p1(1:i(end));
cd(p1)
在脚本的最前面加上上面代码即可。
================================================================================================
然而当我打算推到思路1时,却发现这样却行不通了:
p1 = mfilename('fullpath');
i=findstr(p1,'\');
p1=p1(1:i(end));
path=strcat(p1,'NF.txt');
load(path)
这种方法在matlab中运行时屡试不爽,但在打包成.exe后,却始终出现以下的错误信息:
对这种错误信息百思不得其解,大概matlab还是不太适合用来打包吧。