主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

Webサービスからのデータの変換

この例では、Webサービスからデータをダウンロードして,webreadで関数をコンテンツリーダーとして使用する方法を説明します。

国立地球物理データセンター(NGDC)はWebサービスを通してさまざまな地球物理データおよび宇宙天気データを提供しています。NGDCは,さまざまなデータセットの中でも,アメリカ変光星観測者協会(AAVSO)が公開する太陽の黒点数を集計しています。webreadを使用して,1945年以来の各年の黒点数をダウンロードします。

api =“http://www.ngdc.noaa.gov/stp/space-weather/”;url = [api“太阳/ solar-indices /太阳黑子数目/”...“美国/清单/ list_aavso-arssn_yearly.txt”];点= webread (url);谁(“点”
名称大小字节类属性点1x1269 2538字符

NGDC Webサービスは,黒点データをテキストとして返します。既定では,webreadはデータを文字配列として返します。

点(1:10 0)
ans =美国年SSN 1945 32.3 1946 99.9 1947 170.9 1948 166.6

webreadは,データを異なる型として返す関数を使用できます。readtablewebreadとともに使用して,黒点データを表として返すことができます。

readtableに関数を指定するweboptionsオブジェクトを作成します。

myreadtable = @(文件名)readtable(文件名,“HeaderLines”, 1...“格式”“% % f”“分隔符”“空间”“MultipleDelimsAsOne”1);选择= weboptions (“ContentReader”, myreadtable);

このデータに対して,readtableをいくつかの名称,值入力引数で呼び出して,データを変換します。たとえば,格式は各行に2つの数字があることを示します。スペースは区切り記号で,複数の連続するスペースは単独の区切り記号として扱われます。これらの入力引数でreadtableを呼び出すには,readtableと引数を新しい関数myreadtableでラップします。myreadtableをコンテンツリーダーとして,weboptionsオブジェクトを作成します。

黒点データをダウンロードして,データをテーブルとして返します。

点= webread (url选项);谁(“点”
Name Size Bytes Class Attributes spots 76x2 2932表

列と行ごとに黒点データを表示します。

点(1:4,{“年”“SSN”})
ans =年SSN ____ _____ 1945 32.3 1946 99.9 1947 170.9 1948 166.6

年ごとの黒点数をプロットします。テーブル関数を使用して,2013年までの黒点数を選択します。一年SSNの列を配列に変換してプロットします。

行=。< 2014年;var = {“年”“SSN”};斑点=斑点(行,var);年= spots.Year;numspots = spots.SSN;图块(一年,numspots);标题(“太阳黑子数据”);包含(“年”);ylabel (黑子的数量的);Xlim ([1940 - 2015]) ylim([0 180])

集計データとWebサービスはNGDCから提供されています。黒点データはAAVSOから提供されています(最初の公開は,AAVSO太阳黑子数:1943 - 2013,AAVSO太阳能部分(r·豪椅子)です)。