こんにちは、私は被験者の複数のセッションで使いたいforループを書いています。私はデータパスがあります:C:\ Users \ Rouve \ Documents \ Promotion \ tDCS \ DATA \ VP01 \ここで、3つのフォルダ:Session1、Session2、Session3があります。これらの各フォルダには15個のテキストファイル(test1.txt、test2.txt ... test15.txt)が含まれています。私の目標は、1つのセッション内で15個のファイルをロードし、それらをセルに入れ、そのセル内の各データセットの最大値を抽出し、すべてのセッションで3つの最大値を平均し、最終的なファイルなので、セッションあたり5つの値を取得します。 私は1つのセッションのためのループを実行すると、それが動作し、次のようになります。それはすべての3つのセッションと出力3つの変数に対してこれを自動的に行いますので、私はforループを構築する方法を見つけ出すように見えることはできません複数の件名/セッションをループする
Volume_name='C:\Users\Rouve\Documents\Promotion\tDCS\DATA\VP02\Session1';
files=dir(fullfile(Volume_name,'*.txt'));
files={files.name}';
files_sorted=natsortfiles(files);
fileName=ls('*txt');
data = cell(numel(files_sorted),1); %# store file contents
for i=1:numel(files_sorted)
fname = fullfile(Volume_name,files_sorted{i}); %# full path to file
data{i} = dlmread(fname, '\t', 19, 1); %# load file
end
for i=1:length(data) %# get Max values of each trial (15 per session in total)
MaxValues(i)=max(data{i});
end
MaxValues=MaxValues';
Mean_values=mean(reshape(MaxValues,3,[]));
Mean_values=Mean_values';
、セッション01、セッション02、セッション03の5つの値を含んでいます。私が本当に助けてくれることを願っています!
お返事ありがとうございます。もう一度お悔やみして申し訳ありませんが、コードをどのように内部に移動するかを指定することができます...私はそれを試みましたが、エラーメッセージを表示するか、 1つの変数を返すだけです(1つのセッションで) - もう一度、できなくて申し訳ありません:/ –
あなたは正しいので、ここでいくつかの作業が必要です。すぐに更新されます。 – atru
ありがとうございました。私は助けを感謝する=) –