質問: dsum + data ; dave=dsum/cyc ; %平均 no=num2str(a); xlswrite(['絶対パス a-' no '.csv'],dave); %csvファイルとして連番保存 contourf(dave,200,'linestyle','none'); %カラーの分布画像にする end end
回答: clear;clc cyc=5; n=3; n=n*cyc; for a=1:n % n=3 ...3枚飛びを指定 dsum = []; for number = a:n:n num = num2str(number); % data= xlsread(['絶対パス -' num '.csv']); data=rand(29); % データがないので乱数で29×29の行列を作成 %1セット分の平均を求める dsum = cat(3,dsum,data); end % dave=dsum/cyc ; %平均 dave=mean(dsum,3); dstd=std(dsum,[],3); % no=num2str(a); % xlswrite(['絶対パス a-' no '.csv'],dave); %csvファイルとして連番保存 % contourf(dave,200,'linestyle','none'); %カラーの分布画像にする end こんにちは、少しコードを修正しました。5セット分繰り返すのならはじめのfor a=1:nは、for a=1:cycな気がしますがいかがでしょうか?ひとまずそのままにしています。ただ、 n-1.csv, n-4.csv, n-7.csv, ・・・1セット目.これに平均・標準偏差の処理をして,29x29の行列na-1.csv として保存 n-2.csv, n-5.csv, n-8.csv, ・・・2セット目.これに平均・標準偏差の処理をして,29x29の行列na-2.csv として保存 n-3.csv, n-6.csv, n-9.csv, ・・・3セット目.これに平均・標準偏差の処理をして,29x29の行列na-3.csv として保存 とありますが、これを5セット繰り返すと例えば、n-7は、2度使われますが大丈夫なのでしょうか? daveも、奥行方向(z方向)にデータを重ねて、最後にチャンネル方向に平均(または標準偏差)の計算をしました。あまり、質問の条件を汲み取れてないかもしれませんので、適宜変更を加えてください。