Afficher commentaires plus anciens
ファイル名が'sample1.txt','sample2.txt','sample3.txt',........,'sample(N).txt'といったようなファイルがN個あるとして、
sample2.txtの時は、X2_average、sample(N).txtの時は,X(N)_average (コードの最終行付近)となるようにし、ファイルを読み込むごとにX1_average~X(N)_averageの計N個の変数を作成したいです.
(ファイルのsample(N).txtのNの数値と変数X(N)_averageのNが連動するように...)
テキストファイルのサンプルは添付してあるものです.(これと同じ形式のものが複数あるという想定で...)
%file open
fid=fopen('sample1.txt','r');
data_num=100;
X=zeros(data_num,1);
T=zeros(data_num,1);
for k=1:data_num
tline = fgetl(fid);
if (isempty(tline)==1)
break
elseif (tline==-1)
break
else
%XDATA%
x_start=find(tline=='=');
x_end=find(tline=='[');
val_x= tline(x_start+1:x_end-1);
val_x=str2num(val_x);
%TIME%
%hour
h_start=find(tline=='>');
val_h= tline(h_start-14:h_start-13);
val_h=str2num(val_h);
%min
m_start=find(tline=='>');
val_m= tline(m_start-11:m_start-10);
val_m=str2num(val_m);
%second
s_start=find(tline=='>');
val_s= tline(s_start-8:s_start-7); %%%小数点以下入れるときは-8:-13
val_s=str2num(val_s);
%TIME
val_t=val_h*3600+val_m*60+val_s;
%recording place
X(k)=val_x;
T(k)=val_t;
end
end
fclose(fid);
%recording
data_num=k-1;
X= X(1:data_num,1);
T= T(1:data_num,1);
%Average
X1_average=mean(X);%%%sample2.txtの時は、X2_average、sample(N).txtの時は,X(N)_average,といったようにしたい。
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur コマンドの入力 dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!