Я пытаюсь построить глобальные температуры поверхности моря в апреле 2015 года на MATLAB, используя JMA's dataset in GRiB format. Я также установил панели инструментов nctoolbox и m_map.Нанесение глобальных температур морской поверхности на MATLAB
Ниже мой код:
!wget http://ds.data.jma.go.jp/tcc/tcc/products/elnino/cobesst/gpvdata/2010-2019/sst201504.grb
nc=ncgeodataset('sst201504.grb')
nc.variables %to check the variable names in this file
lat=double('lat');
lon=double('lon');
sst=double(squeeze('Water_temperature_depth_below_sea'));
m_proj('miller','lat',[min(lat(:)) max(lat(:))],...'lon',[min(lon(:)) max(lon(:))])
m_pcolor(lon,lat,sst);
Однако, когда я использовал функцию м-pcolor, следующее сообщение об ошибке генерируется:
Error using pcolor (line 53)
Color data input must be a matrix.
Error in m_pcolor (line 53)
[h]=pcolor(X,Y,data,varargin{:});
Я до сих пор в состоянии построить береговую линию и сетки, используя следующий код, но без аномалий цветной температуры:
m_coast;
m_grid;
Я пропустил что-нибудь в своем коде? lat
и lon
: 1x3 двойные массивы, а sst
- 1x33 двойной массив.
Взгляните на: http://www.mathworks.com/matlabcentral/answers/21996-how-to-use-m_pcolor-and-or-pcolorm – NKN
Спасибо за ссылку @NKN. Я подозреваю, что проблема заключается в объявлении и определении переменной sst. Однако я не знаю, как исправить ошибку. – electroniclearner
Проверьте тип и размер переменной 'sst' и добавьте ее в вопрос. – NKN