Main Content

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

温度と湿度の相関関係を可視化

この例では、既存のThingSpeak™チャネルから複数の変数を読み取り、散布図を生成して温度と圧力の相関関係を調べる方法を示します。この例では、 MATLAB Analaysis およびMATLAB Visualizationsアプリによって提供されるコード テンプレートの 1 つを変更します。

ThingSpeak channel 12397 には、マサチューセッツ州ネイティックのMathWorks®キャンパスの駐車場の上にある気象観測所からの気象データが含まれています。フィールド 4 には温度測定値が含まれ、フィールド 3 には湿度測定値が含まれます。

«「MATLAB」を作成する»«»«テンプレート コードからの視覚化»

ThingSpeakチャネルからのデータの散布図視覚化を作成するには、 MATLAB Visualizationsアプリで提供されるコード テンプレートを使用してMATLABスクリプトを作成します。

[アプリ] タブに移動し、[MATLAB Visualizations] を選択します。「新規」をクリックし、「温度と湿度の相関関係を視覚化」を選択し、「作成」をクリックします。

«データを視覚化する»

ThingSpeak は、温度ヒストグラムを生成するコードを「MATLABコード」「」フィールドに入力します。

1) ThingSpeakと通信するための変数を設定します。この例では、気象観測所のチャネルが公開されているため、読み取り API キーは不要です。独自のチャネルから読み取る場合は、これらの値を変更できます。

readChannelID = 12397;
TemperatureFieldID = 4;
HumidityFieldID = 3;
readAPIKey = '';

2) thingSpeakReadを使用して、温度フィールドと湿度フィールドから 300 ポイントを取得します。

data = thingSpeakRead(readChannelID,'Fields',[TemperatureFieldID HumidityFieldID], ...
      'NumPoints',300, 'ReadKey',readAPIKey); 

3) 気温と風速のデータを抽出します。

temperatureData = data(:, 1);
humidityData = data(:, 2);

4) scatterを使用してプロットを生成します。xlabelおよびylabelを使用して、x 軸と y 軸のラベルを設定します。

scatter(temperatureData,humidityData);
xlabel('Temperature');
ylabel('Humidity');

5) アプリケーションに合わせてテンプレート コードを編集できます。たとえば、読み取るポイントの数やコード内のプロット タイトルを編集できます。「保存して実行」「」をクリックして出力を生成します。散布図はライブ データから生成されるため、実際のプロットはこのプロットと似ていますが、同一ではありません。

チャネルビューにビジュアライゼーションを追加する

必要に応じて、保存したビジュアライゼーションをチャネルに追加できます。「表示設定」で、「このビジュアライゼーションをチャネルに追加/編集」をクリックして、チャネルリストを展開します。

ビジュアライゼーションを追加するチャネルに対応するチェック ボックスをクリックします。プライベート ビジュアライゼーションを追加するには、«プライベート ビュー» をチェックします。URL を共有し、ビジュアライゼーションを「パブリック ビュー」に追加するには、「パブリック URL の作成」を選択します。選択内容を更新するには、「表示設定を保存」をクリックします。

«線形近似を決定する»

polyfit関数は、適合度が値 1 に設定されている場合、線形データへの適合を提供できます。次のコードはテンプレートには含まれていません。複数の分布をプロットするには、このコードをテンプレートに追加します。

1) polyfitを使用してデータの近似を実行します。線形近似の最後の引数として1を指定します。

fitData = polyfit(temperatureData,humidityData,1);
display(fitData(1),'Slope');
Slope = -1.1647
display(fitData(2),'Intercept');
Intercept = 104.3294

2) 温度と湿度には明確な関係がないため、線形近似は必ずしも良好な近似ではありません。相関係数を使用して近似の質を確認できます。相関係数を計算して表示します。

r = corrcoef(temperatureData,humidityData);
display(r(2),'Correlation Coefficient');
   -0.8784

3) «保存して実行»« »を押して二重プロットを生成します。散布図は負の傾きを示し、したがって負の相関係数になります。この測定では、温度が上昇すると湿度が低下します。r 値が 1 または -1 の場合は、完全に適合していることを示します。このデータの r 値は、適合度が比較的低いことを裏付けています。

参考

関数

関連する例

詳細