⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortdatafiles.m

📁 时间序列分析的信号处理MATLAB工具包
💻 M
字号:
function datafiles=sortdatafiles(datafiles)% das ist ein Test%newdatafiles={};new_n=0;n=length(datafiles(:,1));m=length(datafiles(1,:));for i=1:n  equal_line=0;  for i1=1:i-1    equal=1;    for i2=1:m      if ~strcmp(char(datafiles(i,i2)),char(datafiles(i1,i2)))	equal=0;      end	    end%    if equal	%      disp(['Zeile ' num2str(i) ' und Zeile ' num2str(i1) ' sind' ...%	      ' gleich!']);%    end    if equal      equal_line=1;    end  end  if ~equal_line    new_n=new_n+1;    for i2=1:m      newdatafiles(new_n,i2)=datafiles(i,i2);    end      end enddatafiles=newdatafiles;newdatafiles={''};neworder=[];new_n=1;for i=1:m                            % Anzahl der Elemente    lines=testelements(datafiles,new_n,i);%  disp(' ');%  disp([num2str(i) ' elements in lines ' num2str(lines)]);  if i==1    neworder=lines;  else    i2=0;    while i2<length(neworder)      	      i2=i2+1;      suborder=[];%      disp(' ');      for i1=1:length(lines)%	disp(['try to match line ' num2str(lines(i1)) ' and line ' num2str(neworder(i2))]);	is_equal=1;	for i3=1:i-1	  if ~strcmp(char(datafiles(lines(i1),i3)),char(datafiles(neworder(i2),i3)))	    is_equal=0;%	    disp(['Theres a mismatch in element ' num2str(i3)]);	  end	end		if is_equal%	  disp(['line ' num2str(neworder(i2)) ' correspond with line ' num2str(lines(i1))]);	  suborder=[suborder lines(i1)];	end	            end      if i2<length(neworder)	neworder=[neworder(1:i2) suborder neworder(i2+1: ...						 length(neworder))];      else	neworder=[neworder(1:i2) suborder];      end      %      disp(['i2=' num2str(i2) ' New order ' num2str(neworder)]);      i2=i2+length(suborder);	    end  end  endnewdatafiles={};for i=1:length(neworder)  for i1=1:m    newdatafiles(i,i1)=datafiles(neworder(i),i1);  endend  datafiles=newdatafiles;%disp(datafiles);returnfunction [lines]=testelements(datafiles,n,m)lines=[];%disp(['finding row with ' num2str(m) ' elements:']);for i=n:length(datafiles(:,1))%  disp(['testing row ' num2str(i) '.']);  number=i;  for i1=1:m    if isempty(char(datafiles(i,i1)))      number=0;%      disp(['element ' num2str(i1) ' is empty!']);    end     end  for i1=m+1:length(datafiles(1,:))    if ~isempty(char(datafiles(i,i1)))      number=0;%      disp(['element ' num2str(i1) ' is not empty!']);    end  end    if number     lines=[lines number];  endendif lines%  disp('found it!');endreturn;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -