5

同じ拡張子を持つフォルダーからすべてのファイルを 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;
4

2 に答える 2

7

を使用dirして、必要なすべてのファイルを取得できます。次に、for ループを使用してそれらを繰り返し処理しload、それぞれを呼び出します。たとえば、次のようになります。

files = dir('C:\myfolder\*.txt');
for k = 1:length(files)
    load(files(k).name, '-ascii')
end

"C:\myfolder" 内のすべてのファイルを拡張子 "txt" で読み込みます。

于 2013-04-04T12:54:26.783 に答える
0

ディレクトリからすべての関数をインポートする場合は、 addpath を使用できます。

matlab では、c:\matlab\work ディレクトリにいて、次をタップします。

addpath directory_where_all_my_functions_are

のすべての機能をインポートするにはc:\matlab\work\directory_where_all_my_function_are

help addpath詳細については、matlab で

于 2016-10-18T12:53:26.880 に答える