2017-01-14 3 views
0

Я пытаюсь вытащить определенные даты и координаты местоположений из файла netcdf, и я получаю ошибку: «индекс превышает размеры матрицы».индекс matlab превышает размеры матрицы с координатами и спецификацией даты

Вот мой код:

strstart = datenum(1997, 05, 01); 
strend = datenum(1998, 05, 30); 
interval = datenum(1997,0,1,0,0,0) - datenum(1997, 0, 0, 0, 0, 0); 
date_range = (strstart:interval:strend); 
date_range1 = date_range'; 
boxedlon = lon1(86:121); 
boxedlat = lat1(1:38); 
ENSOPlot = nanmean(nanmean(wind(date_range1,boxedlat,boxedlon),2),1); 

линия в вопросе здесь:

ENSOPlot = nanmean(nanmean(wind(date_range1,boxedlat,boxedlon),2),1); 

Я очень смущен, почему, почему эта ошибка возникает, потому что я использовал именно этот сценарий на предыдущий файл netcdf.

«ветер» - это матрица с размерами 365x73x144.

Любая помощь приветствуется!

+0

Я не думаю, что 'wind' является стандартной функцией Matlab, и вы не указали, что именно. Никто не может понять, что представляет собой реальная ошибка без всех элементов. Пожалуйста, прочитайте [это руководство о том, как спросить хороший quesiton] (http://stackoverflow.com/help/how-to-ask) – marcoresk

ответ

0

Проблема в том, что число, полученное от strstart и strend, больше, чем размер переменной wind.

Может случиться так, что вам по-прежнему необходимо вычесть дату, с которой начинаются данные wind? Теперь вы предполагаете, что переменная wind содержит данные за последние 2000 лет ...

+0

Казалось бы, это может быть так. Мой ветер имеет размеры 365x73x144, а моя дата - 395x1. Я попробую то, что вы предлагаете! – user6776063

Смежные вопросы