Download Data from Web Service - MATLAB & Simulink.pdf ...

3 downloads 176 Views 296KB Size Report
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to op
Download Data from Web Service This example shows how to download data from a web service with the webread function. The World Bank provides a variety of climate data via the World Bank Climate Data API. A call to this API returns data in JSON format. webread converts JSON objects to structures that are convenient for analysis in MATLAB®. Use webread to read USA average annual temperatures into a structure array. 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 converted the data to a structure array with 112 elements. Each structure contains the temperature for a given year, from 1901 to 2012. S(1)

ans =      year: 1901     data: 6.6187

S(112)

ans =      year: 2012     data: 7.9395 Plot the average temperature per year. Convert the temperatures and years to numeric arrays. Convert the years to a datetime object for ease of plotting, and convert the temperatures to degrees Fahrenheit. 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 = datenum(1899,1,1); xmax = datenum(2014,1,1); xlim([xmin xmax])

Overplot a least­squares fit of a line to the temperatures. 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 and data courtesy of the World Bank: Climate Data API. See World Bank: Climate Data API for more information about the API.

See World Bank: Terms of Use for terms of use for data and API.