このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
コンパスプロットで方向データを可視化する
この例では、MATLAB での行列計算と、MATLAB Visualizations アプリでのコンパス プロットを使用して方向分布を表示する方法を示します。この例では、開始点として、ThingSpeak の MATLAB Analysis アプリと MATLAB Visualizations アプリが提供するコード テンプレートの 1 つを使用します。
ThingSpeak ™ チャネル12397 には、マサチューセッツ州ネイティックの MathWorks キャンパスの駐車場の上にある気象観測所からの気象データが含まれています。フィールド 1 には風速の測定値が含まれます。
テンプレートコードから MATLAB の可視化を作成する
ThingSpeakチャネルからのデータ セットのコンパス プロット可視化を作成するには、提供されているコード テンプレートを使用して MATLAB スクリプトを作成します。
Apps タブに移動し、MATLAB Visualizations を選択します。新規 をクリックし、コンパス プロットを使用して方向データを可視化する を選択して、作成 をクリックします。

データを可視化する
ThingSpeak は、MATLAB コード フィールドにテンプレート コードを入力して、データを読み取ってエリア プロットを生成します。
1) ThingSpeak と通信するための変数を設定します。気象ステーションチャネルは公開されているため、読み取り API キーを追加する必要はありません。独自のチャネルから読み取る場合は、これらの値を変更できます。
readChannelID = 12397;
WindDirFieldID = 1;
WindSpeedFieldID = 2;
readAPIKey = '';2) thingSpeakRead を使用して、フィールド 1 から 60 ポイントの風向データを読み取ります。フィールド 2 から風速データを読み取ります。
windDir = thingSpeakRead(readChannelID,'Fields',WindDirFieldID,'NumPoints',60,... 'ReadKey',readAPIKey); windSpeed = thingSpeakRead(readChannelID,'Fields',WindSpeedFieldID,'NumPoints',60,... 'ReadKey',readAPIKey);
3)風向を度からラジアンに変換し、方向を北に合わせるようにシフトします。これらの式は、ThingSpeak から読み取られた配列の各要素に対して作用します。
rad = windDir*2*pi/360; rad = rad+pi/2;
4) compass プロット入力との一貫性を保つために、風の測定値を直交座標に変換します。アプリケーションに合わせてテンプレート コードを編集できます。たとえば、thingSpeakRead を使用して読み取るポイントの数を変更するようにコードを編集します。
u = cos(rad) .* windSpeed; v = sin(rad) .* windSpeed; compass(u,v);

5) 保存して実行 を押してプロットを生成します。コンパス プロットはリアルタイム データから生成されるため、可視化はこのプロットとは異なります。このグラフは、最近の風の測定結果の方向分布と強度を示しています。
6) オプションで、保存した可視化をチャネルに追加できます。Display Settings で、Add/Edit this Visualization to a Channel の横にあるプラス記号を使用して、チャネル リストを展開します。

可視化を追加するチャネルのチェックボックスを選択します。プライベート ビジュアライゼーションを追加するには、プライベート ビュー を選択します。URL を共有し、可視化を Public View に追加するには、[Create a public URL] をクリックします。選択内容を更新するには、[表示設定を保存] をクリックします。

風速測定の加重平均を表示
MATLAB Visualizations を使用すると、同じプロット上の複数の出力を比較できます。たとえば、加重平均の方向を示す矢印を追加できます。
1) 加重平均を計算します。
aveDir = sum(rad.*windSpeed)/sum(windSpeed);
2) 測定された風向を直交座標に変換します。hold on を使用してデータを同じプロット上に保持し、プロットを生成します。平均線を他の線と区別するために、線の種類 'ro-' を使用します。
w = mean(u); z = mean(v); % Generate the original plot. compass(u,v); hold on c = compass(w,z,'ro-'); c.LineWidth = 2;

参考
関数
Compass(MATLAB) |thingSpeakRead