Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我需要更改MATLAB路径才能读取文件?_Matlab - Fatal编程技术网

为什么我需要更改MATLAB路径才能读取文件?

为什么我需要更改MATLAB路径才能读取文件?,matlab,Matlab,我正在从文件夹中读取50个文件,如下所示: list_of_files=dir(fullfile('/home/user/Desktop/MTP/schemes/o33smnpimp/data/', '*.dat')); 我的问题是直到&除非我在matlabpath中打开了与path相同的文件夹(路径窗口上方的一个),否则该命令将无法工作。这背后的原因是什么?实际上有多个方案,每次我需要运行一个特定的方案时,我必须转到该方案的数据文件夹。如何解决此问题?问题在于,您可以像以前一样使用完整路径获

我正在从文件夹中读取50个文件,如下所示:

list_of_files=dir(fullfile('/home/user/Desktop/MTP/schemes/o33smnpimp/data/', '*.dat'));

我的问题是直到&除非我在matlabpath中打开了与path相同的文件夹(路径窗口上方的一个),否则该命令将无法工作。这背后的原因是什么?实际上有多个方案,每次我需要运行一个特定的方案时,我必须转到该方案的数据文件夹。如何解决此问题?

问题在于,您可以像以前一样使用完整路径获取文件列表,但在使用时还需要指定完整路径。例如,尝试将代码更改为:

baseDir = '/home/user/Desktop/MTP/schemes/o33smnpimp/data/'; % <--- will use this twice
list_of_files=dir(fullfile(baseDir, '*.dat'));

for ind = 1:length(list_of_files)
    myFilenameFull = fullfile(baseDir, list_of_files(ind).name);  % <---- must use fullfile here too!
    D1 = getData(myFilenameFull, 'stuff');
end

baseDir='/home/user/Desktop/MTP/schemes/o33smnpimp/data/';% 问题是,您可以像以前一样使用完整路径获取文件列表,但在使用时还需要指定完整路径。例如,尝试将代码更改为:

baseDir = '/home/user/Desktop/MTP/schemes/o33smnpimp/data/'; % <--- will use this twice
list_of_files=dir(fullfile(baseDir, '*.dat'));

for ind = 1:length(list_of_files)
    myFilenameFull = fullfile(baseDir, list_of_files(ind).name);  % <---- must use fullfile here too!
    D1 = getData(myFilenameFull, 'stuff');
end

baseDir='/home/user/Desktop/MTP/schemes/o33smnpimp/data/';%你说的计划是什么意思?这些是一些函数吗?您是说上面的命令不起作用,还是说当您试图运行或读取它返回的文件/函数时,您得到了一个错误?请提供任何错误消息(以云线编号显示的完整消息)和任何其他代码。“MATLAB路径中的路径”和“路径窗口”是什么意思?后者是在Home>Environment>Set Path下找到的Set Path GUI(即,
pathtool
)吗?@Divakar基本上我有10种由不同方案生成的数据。现在所有这些都在不同的文件夹中,如o1exp、o1imp、o33smnpimp等。这些文件夹本身还包含数据文件夹,每个文件夹包含50个dat文件。我需要做的是在单个MATLAB文件中读取所有这些dat文件并绘制结果。如果我只想从一个文件夹中阅读,您以前的解决方案解决了我的问题。但是如果有多个文件夹,它就失败了。你说的方案是什么意思?这些是一些函数吗?您是说上面的命令不起作用,还是说当您试图运行或读取它返回的文件/函数时,您得到了一个错误?请提供任何错误消息(以云线编号显示的完整消息)和任何其他代码。“MATLAB路径中的路径”和“路径窗口”是什么意思?后者是在Home>Environment>Set Path下找到的Set Path GUI(即,
pathtool
)吗?@Divakar基本上我有10种由不同方案生成的数据。现在所有这些都在不同的文件夹中,如o1exp、o1imp、o33smnpimp等。这些文件夹本身还包含数据文件夹,每个文件夹包含50个dat文件。我需要做的是在单个MATLAB文件中读取所有这些dat文件并绘制结果。如果我只想从一个文件夹中阅读,您以前的解决方案解决了我的问题。但在多个文件夹的情况下,它会失败。