loop内のテーブル書き込み

2 views (last 30 days)
Qiong Ma
Qiong Ma on 10 Aug 2020
Edited: Qiong Ma on 12 Aug 2020
各被験者(合計20人)の下に以下のようなファイルがあります。AとBは違う領域です。一つずつのmat.fileにMという変数があります。Mは1行8列のデータになります(8列ですが、1列目と5列目、2列目と6列目、...が同じ条件、2列の平均は1条件の値になります)。
一つ一つのmat.fileのM値に基づき、条件ごとの平均値を列のデータとして、人数分行のテーブルに書き込みたいです(即ち20行、4例のテーブル)。データの右側に心理的指標のデータ(demo.xlsx: 20行3列のファイル)を加えたものを.xlsx fileに書き込みたいです。
stir ='F:\AOA';
subject={001 002};
vois={A...
B};
r1=[6 6 9 9];
r2=[6 9 6 9];
thrname={'005','001','0001'};
load demo;
for s=1:length(subject)
for v=1:length(vois)
for th=1:length(thrname)
for r=1:length(r1)
for m=1:length(r2)
load ([stir filesep subject{s} vois{v} '_r' num2str(r1(r)) '_m' num2str(r2(m)) '_thr' thrname(th) '_beta.mat']);
N =[ (M(:,1)+M(:,5))/2, (M(:,2)+M(:,6))/2, (M(:,3)+M(:,7))/2, (M(:,4)+M(:,8))/2];
           Q= [N demo]
end
end
end
end
end
loop内のテーブルの書き込み方よく出ていていないです。教えていただければ幸いです。
  2 Comments
Shunichi Kusano
Shunichi Kusano on 12 Aug 2020
全て把握できていませんが、少なくともloadの部分、thrname(th)ですとセルが出力されてしまうため、他の部分(文字列)と整合せずにエラーになると思います。始めから小数点は抜いた形でthrnameを作るのが簡単かなと思います。
thrname = {'005','001','0001'};
thrname{1} % ans = '005'
Qiong Ma
Qiong Ma on 12 Aug 2020
説明不足ですみません!確かに、thrname = {'005','001','0001'}のはずです。ありがとうございます!

Sign in to comment.

Answers (0)

Categories

Find more on Psychology in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!