clear;clc; %% sal = ncread('C:\Users\Administrator\Desktop\实习3\argo\20050822_prof.nc','PSAL_ADJUSTED'); st = ncread('C:\Users\Administrator\Desktop\实习3\argo\20050822_prof.nc','TEMP_ADJUSTED'); latitude0 = ncread('C:\Users\Administrator\Desktop\实习3\argo\20050822_prof.nc','LATITUDE'); longitude0 = ncread('C:\Users\Administrator\Desktop\实习3\argo\20050822_prof.nc','LONGITUDE'); sst = st(10,1:end); % 10米深处 lon0 = -72:0.1:42; lat0 = -55:0.1:60; [x,y]=meshgrid(lon0,lat0); %% griddata plot figure(1) SST = griddata(longitude0,latitude0,sst',x,y,'linear'); m_proj('Equidistant Cylindrical', 'lat', [-75 70],'lon', [-90 40],1); % 背景掩膜 m_pcolor(x,y,SST); % 画图 m_coast('patch',[.7 .7 .7],'edgecolor','none'); m_grid('linestyle','--','tickdir','in'); colormap('jet'); h=colorbar; set(get(h,'Title'),'string','mm'); hold on xlabel('Lon');ylabel('Lat') title('griddata-based preciptation (mm) ') %% cressman plot figure(2) SST2 = cressman_interp(lon0,lat0,longitude0,latitude0,sst,20,1); m = find(SST2==0); SST2(m) = nan; m_proj('Equidistant Cylindrical', 'lat', [-75 70],'lon', [-90 40],1); % 背景掩膜 m_pcolor(x,y,SST2'); % 画图 m_coast('patch',[.7 .7 .7],'edgecolor','none'); m_grid('linestyle','--','tickdir','in'); colormap('jet'); h=colorbar; set(get(h,'Title'),'string','mm'); hold on xlabel('Lon');ylabel('Lat'); title(['Cressman-based preciptation (mm) ']);
时间: 2023-12-24 17:01:59 浏览: 82
arima_test.zip_ARIMA代码_arima.test_arima预测_stationary test_平稳性检验
5星 · 资源好评率100%
这段代码是用 MATLAB 读取一个海洋温盐度数据文件('20050822_prof.nc'),然后进行插值处理并绘制海洋表面温度分布图。其中用到了 griddata 和 cressman_interp 两种插值方法。第一张图是基于 griddata 的插值结果,第二张图是基于 cressman_interp 的插值结果。
阅读全文