Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um das englische Original zu sehen.

Visualisieren Sie den Zusammenhang zwischen Temperatur und Luftfeuchtigkeit

Dieses Beispiel zeigt, wie mehrere Variablen aus einem vorhandenen ThingSpeak™-Kanal gelesen und ein Streudiagramm erstellt werden, um die Korrelation zwischen Temperatur und Druck zu untersuchen. Im Beispiel ändern Sie eine der Codevorlagen, die von der App „MATLAB Analysis“ und „MATLAB Visualizations“ bereitgestellt werden.

ThingSpeak Kanal 12397 enthält Wetterdaten von einer Wetterstation auf einem Parkhaus auf dem MathWorks ®-Campus in Natick, MA. Feld 4 enthält die Temperaturmessung, Feld 3 enthält die Feuchtigkeitsmessung.

Erstellen Sie eine MATLAB Visualisierung aus Vorlagencode

Um eine Streudiagrammvisualisierung von Daten aus einem ThingSpeak-Kanal zu erstellen, können Sie mithilfe einer in der MATLAB Visualizations-App bereitgestellten Codevorlage ein MATLAB®-Skript schreiben.

Gehen Sie zur Registerkarte Apps und wählen Sie MATLAB Visualizations aus. Klicken Sie auf Neu, wählen Sie Korrelation zwischen Temperatur und Luftfeuchtigkeit visualisieren und klicken Sie auf Erstellen.

Visualisieren Sie Ihre Daten

ThingSpeak füllt das Feld MATLAB Code mit dem Code zum Generieren des Temperaturhistogramms.

1) Legen Sie die Variablen für die Kommunikation mit ThingSpeak fest. In diesem Beispiel ist der gelesene API-Schlüssel nicht erforderlich, da der Kanal der Wetterstation öffentlich ist. Wenn Sie von Ihrem eigenen Kanal lesen, können Sie diese Werte ändern.

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

2) Verwenden Sie thingSpeakRead, um 300 Punkte aus den Temperatur- und Feuchtigkeitsfeldern abzurufen.

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

3) Extrahieren Sie die Temperatur- und Windgeschwindigkeitsdaten.

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

4) Verwenden Sie scatter, um das Diagramm zu generieren. Legen Sie die Beschriftungen der X- und Y-Achse mit xlabel und ylabel fest.

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

Figure contains an axes object. The axes object with xlabel Temperature, ylabel Humidity contains an object of type scatter.

5) Sie können den Vorlagencode bearbeiten, damit er zu Ihrer Anwendung passt. Sie können beispielsweise die Anzahl der zu lesenden Punkte und die Plottitel im Code bearbeiten. Klicken Sie auf Speichern und Ausführen , um die Ausgabe zu generieren. Da das Streudiagramm aus Livedaten generiert wird, sieht Ihr Diagramm ähnlich aus, ist aber nicht mit diesem Diagramm identisch.

Fügen Sie Ihrer Kanalansicht eine Visualisierung hinzu

Optional können Sie Ihrem Kanal gespeicherte Visualisierungen hinzufügen. Klicken Sie in den Display Settings auf Add/Edit this Visualization to a Channel, um die Kanalliste zu erweitern.

Klicken Sie auf das Kontrollkästchen für den Kanal, zu dem Sie die Visualisierung hinzufügen möchten. Um private Visualisierungen hinzuzufügen, aktivieren Sie Private Ansicht. Um die URL freizugeben und die Visualisierung zur Öffentlichen Ansicht hinzuzufügen, wählen Sie Öffentliche URL erstellen. Um Ihre Auswahl zu aktualisieren, klicken Sie auf Save Display Settings.

Lineare Anpassung bestimmen

Die Funktion polyfit kann eine Anpassung an lineare Daten bereitstellen, wenn der Anpassungsgrad auf den Wert 1 gesetzt ist. Der folgende Code ist nicht in der Vorlage enthalten. Um mehrere Verteilungen darzustellen, fügen Sie der Vorlage diesen Code hinzu.

1) Verwenden Sie polyfit, um eine Anpassung an die Daten durchzuführen. Geben Sie 1 als letztes Argument für eine lineare Anpassung an.

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

2) Da zwischen Temperatur und Luftfeuchtigkeit keine eindeutige Beziehung besteht, ist die lineare Anpassung nicht unbedingt eine gute Anpassung. Sie können die Anpassungsqualität mit einem Korrelationskoeffizienten überprüfen. Berechnen und zeigen Sie den Korrelationskoeffizienten an.

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

3) Drücken Sie Save and Run , um das Doppeldiagramm zu generieren. Das Streudiagramm weist eine negative Steigung und somit einen negativen Korrelationskoeffizienten auf: Bei dieser Messung nimmt die Luftfeuchtigkeit mit steigender Temperatur ab. Ein r-Wert von 1 oder -1 zeigt eine perfekte Anpassung an. Der r-Wert für diese Daten bestätigt, dass die Anpassung relativ schlecht ist.

Siehe auch

Funktionen

Themen