2、sort_data

sort all data
==================整理资料===================
clear
clc

sort_data('shelf','1');
sort_data('shelf','2');
sort_data('slope','1');
sort_data('slope','2');
sort_data('break','1');
sort_data('break','2');


=====子程序,shelf1处 040文件有空值,插值时有提示,不影响最后结果===

% function []=sort_data(loc,deployment)
% % Function:% Sort_data(loc,deployment)
% % input=
% % loc??????? 观测位置,如 'break','shelf','slope'
% % deployment 观测时段,如 '1','2'
% % Last version: 2009-10-09
%
% % % For test
% % break2 shelf1
% % clear
% % clc
% % loc='break';
% % deployment='2';
%
%
%
% % 载入文件名filename,1*1 struct,获取需要子域内容filename1
% load filename
% filename1=filename.([loc,deployment]); % dynamic fieldname
% k=length(filename1);
%
% switch deployment
%???? case '1'
%???????? start_time=datenum([1992, 2, 9,16, 0, 0]);
%???????? end_time? =datenum([1992, 3,14, 6, 0, 0]);
%???? case '2'
%???????? start_time=datenum([1992, 3,16,18, 0, 0]);
%???????? end_time? =datenum([1992, 4,17,18, 0, 0]);
% end
%
% % disp(datevec(start_time));
% % disp(datevec(end_time));
%
% % 读取第一个文件,获取资料长度及时间序列
% [time_array,u1,t1]=read_origin_data(filename1{1});
% n1=find(datenum(time_array)==start_time);
% n2=find(datenum(time_array)==end_time);
% time=time_array(n1:n2,:);
%
% uu=zeros(length(time):k);
% tt=zeros(length(time):k);
%
% uu(:,1)=u1(n1:n2);
% tt(:,1)=t1(n1:n2);
%
% % 读取其余深度处资料u1,t1,存入uu(N*7),tt(N*7)列向量
% for kk=2:k;?? ?
%??? ?
%???? if kk<=5
% %???????? 2min资料,直接读取
%???????? [time_array1,u1,t1]=read_origin_data(filename1{kk});
%???????? n1=find(datenum(time_array1)==start_time);
%???????? n2=find(datenum(time_array1)==end_time);
%???? else
% %???????? 6min资料,读取后插值
%???????? [time_array2,u2,t2]=read_origin_data(filename1{kk});
%???????? time_num2=datenum(time_array2);
%???????? step=datenum([0,0,0,0,2,0]);
%???????? time_num1=time_num2(1):step:time_num2(end);
%???????? time_num1=time_num1';
%???????? time_array1=datevec(time_num1);
%
% %???????? 插值后截取所需部分
%???????? u1=interp1(time_num2,u2,time_num1);
%???????? t1=interp1(time_num2,t2,time_num1);
%???????? n1=find(abs(time_num1-start_time)<1.0e-5);
%???????? n2=find(abs(time_num1-end_time)<1.0e-5);
%???? end
%??? ?
%???? uu(:,kk)=u1(n1:n2);
%???? tt(:,kk)=t1(n1:n2);?? ?
%??? ?
% end
%
%
% % 合并时间向量 并转置为行向量,以便进行fprintf
% save1=[time,uu]';
% save2=[time,tt]';
%
% % 输出部分
% directory='d:\study\mooring\sorted_data\';
% fid1=fopen([directory,'u.',loc,deployment],'w');
% fid2=fopen([directory,'t.',loc,deployment],'w');
%
% if k==6
% %??? 申明行
%??? fprintf(fid1,'yyyy mm dd hh mn ss????? ');
%??? fprintf(fid1,'2.5m????? 5.0m???? 10.0m???? 20.0m???? 45.0m???? 70.0m\n');
%??? fprintf(fid2,'yyyy mm dd hh mn ss????? ');
%??? fprintf(fid2,'2.5m????? 5.0m???? 10.0m???? 20.0m???? 45.0m???? 70.0m\n');
% %??? 写入资料
%??? fprintf(fid1,'%4d%3d%3d%3d%3d%3d%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f\n',save1);
%??? fprintf(fid2,'%4d%3d%3d%3d%3d%3d%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f\n',save2);
%??? fprintf('OUTPUT ONSHORE SPEED AND TEMP OF %s%s\n',loc,deployment);
%?? ?
%
% else
%??? fprintf(fid1,'yyyy mm dd hh mn ss????? ');
%??? fprintf(fid1,'2.5m????? 5.0m???? 10.0m???? 20.0m???? 50.0m???? 75.0m??? 100.0m\n');
%??? fprintf(fid2,'yyyy mm dd hh mn ss????? ');
%??? fprintf(fid2,'2.5m????? 5.0m???? 10.0m???? 20.0m???? 50.0m???? 75.0m??? 100.0m\n');
%??? fprintf(fid1,'%4d%3d%3d%3d%3d%3d%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f\n',save1);
%??? fprintf(fid2,'%4d%3d%3d%3d%3d%3d%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f\n',save2);
%??? fprintf('OUTPUT ONSHORE SPEED AND TEMP OF %s%s\n',loc,deployment);
% end
%
% fclose(fid1);
% fclose(fid2);
% return
%

你可能感兴趣的:(2、sort_data)