ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Web サービスからのデータのダウンロード

この例では、関数 webread を使用して、Web サービスからデータをダウンロードする方法を説明します。世界銀行は、世界銀行の気候データ API を通じてさまざまな気候データを提供しています。この 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 個の要素をもつ構造体配列に変換しました。各構造体には、1901 年から 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 から提供されています (API の詳細については、World Bank: Climate Data API を参照し、また World Bank: Terms of Use を参照してください)。