1、Matlab 学习交流u批处理u数据的读取u数据数组的处理u画图u数据的保存u批处理两种方式:1、文件名法:适合文件名有规律的批处理2、 dir法:适合任何情况1、文件名法:2.dir法u批处理u数据的读取1、 mat文件,规则文本: load2、不规则文本: fscanf3、二进制: fread4、 nc文件: ncread5、 hdf: hdfreadExample:1、 a.mat load a;2、 a.txt fid=fopen(a.txt,r); data=fscanf(fid,%?,size);?:格式。 Size:默认 inf,可为数或数组3、 a.dat fid=fopen(
2、a.dat,rb);data=fread(fid,size,precision)4、 a.nc data=ncread(a.nc,varname,a,b,la,lb);5、 sd.hdf fileinfo = hdfinfo(a.hdf);data_info = fileinfo.SDS(2);data = hdfread(sds_info);u数据的读取读取 nc格式时区域的截取:u数据数组的处理常用:Squeeze:去掉维数大小为 1的为。例 a=1*1*5;squeeze(a)=1*5;Flipud:数组行倒转。 a=1,2;3,4;flipud(a)=3,4;1,2;Fliplr:数据
3、列倒转。 a=1,2;3,4;fliplr(a)=2,1;4,3Flipdim:指定数组任一维倒转。 a=1,2;3,4;flipdim(a,1)=flipud(a)flipdim(a,2)=fliplr(a)Permute:改变数组维数顺序。 a=2*3*4;permute(a,3,1,2)=4*2*3Size:得知数据维数大小。Length:得知数组最大维大小。Max,min:得到最大最小值的大小与位置。nan,zero,sum,abs,flooru数据数组的处理一 维: interp1二维: interp2, griddata(区别: interp数据间隔一致,griddata数据间隔可
4、不一致 );N维: interpnz1=interp2(x,y,z,x1,y1);改为: z1=interp2(y,x,z,y1,x1);u画图m_pcolorm_proj(miller,long,110.2 112.8,lat,20 22);m_pcolor(ln1,lt1,V1)shading flat (interp)m_grid(linewi,1,linest,:,tickdir,out,fontsize,14,fontweight,bold);m_gshhs_h(patch,g,edgecolor,r);h=colorbar; (h=colorbar(horiz)set(h,position,0.9388 0.106 0.0176 0.8200);colormap(jet(15)set(gca,clim,-1,1);title(titlename,fontsize,14,fontweight,bold);set(get(h,Title),string,m/s,fontsize,14);lt1,ln1meshgrid(lt1,ln1)一般 lat在前, lon在后m_contourfh_text=clabel(c,h,0.1:0.1:0.7,labelSpacing,300,FontSize,15);u画图