海洋要素计算:温盐跃层的分析 发表于 2013-10-15 | 分类于 数据处理分析 | 阅读次数 摘要 提供某次海洋观测的RBR-CTD测得的海洋要素数据,要求完成以下内容: 根据数据的头文件,给出观测的基本信息。 进行异常数据的剔除,仅保留“下放(Down-casting)”时观测的数据。 去尖峰。 将数据处理成1m平均的形式。保存数据文件。 绘制温度和盐度的剖面图。 文件下载RBR-CTD观测数据:G4.txt去尖峰函数:despike.m 处理流程打开文件1234567% file openfid1 = fopen('G4.txt');% display the information of the data for ii = 1:4 hdata{ii} = fgets(fid1); disp(hdata{ii}) end 读取数据123456% Read Data % [Date,Time,Cond,Temp,Pres,D_O2,PAR,FlC_a,Depth,Salin,SpecCond,DensAnom,SoS,xdO2C] = ...,% textread('G4.txt','%s%s%f%f%f%f%f%f%f%f%f%f%f%f','headerlines',51);data_cell = textscan(fid1,'%s%s%f%f%f%f%f%f%f%f%f%f%f%f','headerlines',51);fclose(fid1); 数据处理1234567891011121314151617181920212223242526%% data processing% cell to matdata = cell2mat(data_cell(3:14));Depth = data(:,9);% find the data during Down-castingindex = find(Depth > 0 & Depth < max(Depth));mod_data = data(index,:);% despikedsp_data=despike(mod_data,3);% write to text file% fprintf(fid2,'%f %f %f %f %f %f %f %f %f %f %f %f\n',dsp_data');% get depth temp and salindsp_depth = dsp_data(:,7)';dsp_temp = dsp_data(:,2)';dsp_salin = dsp_data(:,8)';% initializing the variablesyi = 0:1.0:max(dsp_depth);ave_temp = zeros(1,length(yi));ave_salin = zeros(1,length(yi));% the average of temp and salin in each metersfor ii = 1:length(yi) ave_temp(ii) = mean( dsp_temp(find(dsp_depth > ii-1 & dsp_depth <ii))); ave_salin(ii) = mean( dsp_salin(find(dsp_depth > ii-1 & dsp_depth <ii)));end 数据导出1234567891011%% output new data to a text filefid2 = fopen('new_Data.txt','a+');for ii = 1:4fprintf(fid2,hdata{ii});endfprintf(fid2,'%s\n',' ');fprintf(fid2,'%s%s%s\n','depth temp salin ');new_data = [yi;ave_temp;ave_salin];fprintf(fid2,'%s\n',' ');fprintf(fid2,'%6.4f %6.4f %6.4f\n',new_data);fclose(fid2); 绘制温盐跃层图1234567891011121314151617%% ploth1 = plot(ave_temp,-yi,'--m');xlabel('Temperature /\circC');ylabel('Depth /m');set(gca,'position','default');set(gca,'YTickLabel',{[70:-10:0]}); % change the y axis labelbox off;axes;h2 = plot(ave_salin,-yi,'b');xlabel('Salinity');set(gca,'position','default','xaxislocation','top','color','none');set(gca,'YTickLabel',{},'yaxislocation','right');box off;% show the legendlegend([h1,h2],'Temperature','Salinity','Location', 'NorthWest');% save as jpg filesaveas(gcf,'temp-salin','jpg'); 结果 若本文对您有帮助,请打赏鼓励本人! 赏 微信打赏 支付宝打赏 ---------------- End ----------------