从具有相同扩展名的文件夹加载所有文件到MATLAB的最简单方法是什么?
我以前的解决方案:
%%% Will load a file if its filename is provided
%%% USAGE: (Best save data to a variable to work with it.)
%%% >> x = loadwrapper('<file_name>')
%%% ... and then use 'x' all the way you want.
%%% <file_name> works with absolute and relative paths, too.
function [ loaded_data ] = loadwrapper( file_name )
files = dir(file_name);
loaded_data = load(files.name);
end
和
%%% put this in a new script, in a function it WILL NOT WORK!
%%% and fix your paths, ofc. i left mine in here on purpose.
%%% SETTINGS
folderName='/home/user/folder/';
extension='*.dat';
%%% CODE
concattedString=strcat(folderName, extension);
fileSet=dir(concattedString);
% loop from 1 through to the amount of rows
for i = 1:length(fileSet)
% load file with absolute path,
% the fileSet provides just the single filename
load (strcat(folderName, fileSet(i).name));
end
%%% TIDY UP
%%% only imported files shall stay in workspace area
clear folderName;
clear extension;
clear concattedString;
clear fileSet;
clear i;
您可以使用dir
获取所需的所有文件。然后,您可以使用for循环遍历它们,并为每个循环调用load
。例如:
files = dir('C:myfolder*.txt');
for k = 1:length(files)
load(files(k).name, '-ascii')
end
加载"C:myfolder"中扩展名为"txt"的所有文件。
如果要从一个目录导入所有函数,可以使用addpath:
在matlab中,你在c:matlabwork目录下,点击:
addpath directory_where_all_my_functions_are
导入c:matlabworkdirectory_where_all_my_function_are
的所有功能
help addpath
在matlab中获取更多信息