Читаю данные из URL, разбор его, а затем пытается далее форматировать данные:Проблема с клеточной логической индексации в Matlab
year = 2008;
month = 9;
day = 30;
raw = urlread(sprintf('http://www.wunderground.com/history/airport/KCVS/%i/%i/%i/DailyHistory.html?HideSpecis=0&theprefset=SHOWMETAR&theprefvalue=0&format=1',year,month,day));
data = textscan(raw,'%s %s %s %s %s %s %s %s %s %s %s %s','Delimiter',',','HeaderLines',2,'CollectOutput',true);
dir = data{1}(1:end-1,7);
wind = cellfun(@str2num,data{1}(1:end-1,8),'UniformOutput',false);
gust = cellfun(@str2num,data{1}(1:end-1,9),'UniformOutput',false);
wind{cellfun(@isempty,wind)} = 0;
gust{cellfun(@isempty,gust)} = 0;
Теперь wind{cellfun(@isempty,wind)} = 0;
работает, однако gust{cellfun(@isempty,gust)} = 0;
не, вместо этого я получаю это ошибка, которая говорит: ??? Правая часть этого задания имеет слишком мало значений, чтобы удовлетворить левую сторону. cellfun(@isempty,gust)
правильно возвращает логический массив. Также будет работать gust{1} = 0
. Почему это работает для ветра, но не для порыва?
вы используете неправильную переменную для построения URL, он должен быть 'day' не 'дата' в конце ?? – Amro
@Amro typo :(но спасибо – Elpezmuerto