MATLABは、必要を抽出するために、テキスト関数を記述し、行によって、テキストファイルの行を読みます

数理モデルではデータをより難治遭遇するだけでなく、テキスト形式に、彼らはそれをコンパイルするのに長い時間が欲しい、今あなたと共有、あなたは勉強を交換することができます

テキストファイルの目的であります

内部のデータのみを抽出します

自己機能を必要とします

CLC、明確な
パス= 'D:\ MATLABファイル\ ZZ \';
NAMELIST = DIR([パス、 '* TXT'])。
ナム=長さ(変数群)。
ファイル= DIR( 'ZZ \ * TXT。');
= 1の署名;
N = 1:ナム
    ファイル名{N} = [パス、変数群(N).nameの]。
%[DATA1、DATA2 = textread(ファイル名、 '%S%S'、 '区切り文字'、 ':'、 'headerlines'、6)。
%[A1、A2] =サイズ(DATA2)。
A1:I = 1%
%S(I、:)= CHAR(DATA2(I、:))。
% 終わり
%日付(2)
A1:I = 1%
%S(I)=正規表現(DATAS(I、:)、」」、 '分割')
% 終わり
A1:I = 1%
%S = CHAR(DATA2(I))。
%DATAS(I)= 'S'。
% 終わり
%FID =はfopen( 'data.txtを'、 'W')。
%の関数fprintf(FID、 '%のC'、DATA2)。
%のFCLOSE(FID)。
    S = []
    FG = 4
    FID =用のfopen(ファイル名{n}は、 'R');
    しばらく〜FEOF(FID)
         STR =関数fgetl(FID)
         EM =のisEmpty(STR)
         EM場合== 0
             if str(1)=='1'&&str(2)=='1'
                 continue
             end
             if str(1)=='时'
                 st1=str(1,4:7);
                 st2=str(1,9:10);
                 st3=str(1,12:13);
                 s(1)=str2num(st1);
                 s(2)=str2num(st2);
                 s(3)=str2num(st3);
             end
             if str(1)=='0'||str(1)=='1'||str(1)=='2'||str(1)=='3'||str(1)=='4'
                 [a1,a2]=size(str);
                 for i=1:a2
                     if str(i)==':'
                         left=i+1;
                         break
                     end
                 end
                 right=a2;
                 for i=left:a2
                      if str(i)==' '
                         right=i
                         break
                      end
                 end
                 s(fg)=str2num(str(1,left:right));
                 fg=fg+1;
             end
         end
    end
    sx(sign,:)=s;
    sign=sign+1;
end

  

clc,clear
data=xlsread('zz0.xlsx');
[a1,a2]=size(data);
data0=[]
flag=1;
for i=1:a1
    if data(i,8)>100&&data(i,11)>10
        data0(flag,:)=data(i,:);
        flag=flag+1;
    end
end
xlswrite('zq.xlsx',data0)

  

clc,clear
data=xlsread('zq.xlsx');
[a1,a2]=size(data);
datas=[]
flag=1;
datas(1,:)=data(1,:);
% if i<=264
%     pp=0;
%     while data(i,2)==datas(i-1,:2)&&data(i,3)==data(i-1,:3)
%         pp=pp+1;
%         i=i+1;
%     end
%     if 
for i=2:a1
    if data(i,2)==datas(flag,2)&&data(i,3)==datas(flag,3)
        blan=data(i,:)+datas(flag,:);
        blan=blan./2;
        datas(flag,:)=blan;
    else
        flag=flag+1;
        datas(flag,:)=data(i,:);
    end
end
xlswrite('zq1.xlsx',datas)
        
        

  

 

おすすめ

転載: www.cnblogs.com/zq-dmhy/p/11325264.html