Этот пример показывает, как загрузить данные с веб-сервиса с функцией webread
. World Bank обеспечивает различные данные климата с помощью Climate Data API World Bank. Вызов этого API возвращает данные в формате JSON. webread
преобразовывает объекты JSON в структуры, которые удобны для анализа в MATLAB®.
Используйте webread
, чтобы считать среднее число США ежегодные температуры в массив структур.
api = 'http://climatedataapi.worldbank.org/climateweb/rest/v1/'; url = [api 'country/cru/tas/year/USA']; S = webread(url)
S = 112x1 struct array with fields: year data
webread
преобразовал данные в массив структур с 112 элементами. Каждая структура содержит температуру в течение данного года, от 1 901 до 2012.
S(1)
ans = year: 1901 data: 6.6187
S(112)
ans = year: 2012 data: 7.9395
Постройте график средней температуры в год. Преобразуйте температуры и годы к числовым массивам. Преобразуйте годы в объект datetime для простоты графического изображения и преобразуйте температуры в градусы по Фаренгейту.
temps = [S.data]; temps = 9/5 * temps + 32; years = [S.year]; yearstoplot = datetime(years,1,1); figure plot(yearstoplot, temps); title('USA Average Temperature 1901-2012') xlabel('Year') ylabel('Temperature (^{\circ}F)') xmin = datetime(1899,1,1); xmax = datetime(2014,1,1); xlim([xmin xmax])
Сравнительный график припадок наименьших квадратов строки к температурам.
p = polyfit(years,temps,1); ptemps = polyval(p,years); deltat = p(1); hold on fl = plot(yearstoplot, ptemps); xlim([xmin xmax]) title('USA Average Temperature Trend 1901-2012') xlabel('Year') ylabel('Temperature (^{\circ}F)') deltat = num2str(10.0*deltat); legend(fl,['Least Squares Fit, ', deltat, '^{\circ}F/decade']) hold off
API и любезность данных World Bank: Climate Data API. (См. World Bank: Climate Data API для получения дополнительной информации о API и World Bank: Условия использования.)