海洋大气matlab技巧

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

m_plot,m_text…… m_gshhs_c, m_gshhs_l, m_gshhs_i, m_gshhs_h, m_gshhs_f 各种精度岸线
画图
一些小技巧: get(gcf),获取figure句柄 get(gca),获取axes句柄 h=function(…);get(h)获取对象句柄。
批处理 数据的读取 数据数组的处理 画图 数据的保存
批处理
两种方式: 1、文件名法:适合文件名有规律的批处理 2、dir法:适合任何情况 1、文件名法:
批处理
2.dir法
数据的读取
1、mat文件,规则文本:load 2、不规则文本:fscanf 3、二进制:fread 4、nc文件:ncread 5、hdf:hdfread Example: 1、a.mat load a; 2、a.txt fid=fopen(‘a.txt’,’r’); data=fscanf(fid,’%?’,size); ?:格式。Size:默认inf,可为数或数组 3、a.dat fid=fopen(‘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);
SET(H,'PropertyName',PropertyValue); SET(get(H,'PropertyName’),’ PropertyName’,PropertyValue) 例如:set(get(h,'Title'),'string','m/s','fontsize',14);
Cell的使用: 例如 cell={'*','o','rp'} for i=1:3 plot(i,i,cell{i}) hold on end;
文本与二进制:fprintf,fwrite。类似fscanf与fread。
数据的保存
Netcdf:nccreate,ncwriteatt,ncwrite.
nameout='a.nc'; nccreate(nameout,'x','Dimensions',{'x' 3},'Format','classic'); nccreate(nameout,'y','Dimensions',{'y' 4},'Format','classic'); nccreate(nameout,'z','Dimensions',{'x' 3 'y' 4},'Format','classic'); ncwriteatt(nameout,'/','info1','test'); ncwriteatt(nameout,'/','info2','test1'); ncwriteatt(nameout,'x','name','x_coor'); ncwriteatt(nameout,'x','units','m'); ncwriteatt(nameout,'y','name','y_coor'); ncwriteatt(nameout,'y','units','m'); ncwriteatt(nameout,'z','name','data'); ncwriteatt(nameout,'z','units','degree'); ncwriteatt(nameout,'z','missing_value',1); ncwriteatt(nameout,'z','scale_factor',1); ncwriteatt(nameout,'z','add_offset',0); ncwrite(nameout,'x',x); ncwrite(nameout,'y',y); ncwrite(nameout,'z',z);
数据数组的处理
一维:interp1 二维:interp2,griddata(区别:interp数据间隔一致, griddata数据间隔可不一致); N维:interpn z1=interp2(x,y,z,x1,y1);
改为: z1=interp2(y,x,z,y1,x1);
画图
m_pcolor
画图
m_quiver m_qΒιβλιοθήκη Baiduiver(lon(1:3:end,1:3:end),lat(1:3:end,1:3:end),0.3*u(1:3:end,1:3:end), 0.3*v(1:3:end,1:3:end),0) 0等同于’autoscale’,’off’。不加默认on。改成其它数字,箭头大小改变。 陆地上的小点,加上lon(isnan(u))=nan;搞掂。
数据的保存
Save:保存数据。 Save filename varname1 varname2; 默认mat Save(‘filename’,’varname1’,’varname2’,’format’);format 默认mat; Print:保存图形。 Print –djpeg filename Print(‘-djpeg’,’-r500’,’filename’)
m_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,'fontw eight','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);
数据的读取
读取nc格式时区域的截取:
数据数组的处理
常用: Squeeze:去掉维数大小为1的为。例 a=1*1*5;squeeze(a)=1*5; Flipud:数组行倒转。a=[1,2;3,4];flipud(a)=[3,4;1,2]; Fliplr:数据列倒转。a=[1,2;3,4];fliplr(a)=[2,1;4,3] Flipdim:指定数组任一维倒转。 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*3 Size:得知数据维数大小。 Length:得知数组最大维大小。 Max,min:得到最大最小值的大小与位置。 nan,zero,sum,abs,floor……
数据的保存
Netcdf:nccreate,ncwriteatt,ncwrite.
[lt1,ln1]meshgrid(lt1,ln1) 一般lat在前,lon在后
画图
m_contourf&m_contour
[c,h]=m_contourf(ln1,lt1,coveratem1,[0:0.1:1],'linewidth',2,'linestyle ',':','color','w'); h_text=clabel(c,h,[0.1:0.1:0.7],'labelSpacing',300,'FontSize',15);
相关文档
最新文档