Main Content

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

Visualizza la correlazione tra temperatura e umidità

Questo esempio mostra come leggere più variabili da un canale ThingSpeak™ esistente e generare un grafico a dispersione per esaminare la correlazione tra temperatura e pressione. Nell'esempio, modifichi uno dei modelli di codice forniti dall'app MATLAB Analaysis e MATLAB Visualizations.

ThingSpeak channel 12397 contiene dati meteorologici provenienti da una stazione meteorologica situata sul tetto di un garage nel campus MathWorks® a Natick, Massachusetts. Il campo 4 contiene la misurazione della temperatura, il campo 3 contiene la misurazione dell'umidità.

Crea un MATLAB Visualizzazione dal codice modello

Per creare una visualizzazione con grafico a dispersione dei dati da un canale ThingSpeak , puoi scrivere uno script MATLAB utilizzando un modello di codice fornito nell'app MATLAB Visualizations.

Vai alla scheda App e seleziona Visualizzazioni MATLAB . Fare clic su Nuovo, selezionare Visualizza correlazione tra temperatura e umidità e fare clic su Crea.

Visualizza i tuoi dati

ThingSpeak popola il campo Codice MATLAB con il codice per generare l'istogramma della temperatura.

1) Impostare le variabili per comunicare con ThingSpeak. In questo esempio, la chiave API di lettura non è necessaria perché il canale della stazione meteorologica è pubblico. Se stai leggendo dal tuo canale, puoi modificare questi valori.

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

2) Utilizzare thingSpeakRead per recuperare 300 punti dai campi temperatura e umidità.

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

3) Estrarre i dati di temperatura e velocità del vento.

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

4) Utilizzare scatter per generare il grafico. Imposta le etichette degli assi x e y utilizzando xlabel e ylabel.

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

5) Puoi modificare il codice del modello per adattarlo alla tua applicazione. Ad esempio, puoi modificare il numero di punti da leggere e i titoli delle trame nel codice. Fare clic su Salva ed esegui per generare l'output. Poiché il grafico a dispersione viene generato da dati in tempo reale, il grafico appare simile ma non identico a questo grafico.

Aggiungi visualizzazione alla visualizzazione del tuo canale

Facoltativamente, puoi aggiungere visualizzazioni salvate al tuo canale. In Impostazioni di visualizzazione, fai clic su Aggiungi/modifica questa visualizzazione a un canale per espandere l'elenco dei canali.

Fare clic sulla casella di controllo corrispondente al canale a cui si desidera aggiungere la visualizzazione. Per aggiungere visualizzazioni private, seleziona Vista privata. Per condividere l'URL e aggiungere la visualizzazione alla Visualizzazione pubblica, seleziona Crea un URL pubblico. Per aggiornare le selezioni, fare clic su Salva impostazioni di visualizzazione.

Determinare l'adattamento lineare

La funzione polyfit può fornire un adattamento ai dati lineari quando il grado di adattamento è impostato su un valore pari a 1. Il seguente codice non è incluso nel modello. Per tracciare più distribuzioni, aggiungi questo codice al modello.

1) Utilizzare polyfit per eseguire un adattamento ai dati. Specificare 1 come ultimo argomento per un adattamento lineare.

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

2) Poiché la temperatura e l'umidità non hanno una relazione definita, l'adattamento lineare non è necessariamente un buon adattamento. È possibile verificare la qualità dell'adattamento con un coefficiente di correlazione. Calcolare e visualizzare il coefficiente di correlazione.

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

3) Premere Salva ed esegui per generare il doppio grafico. Il grafico a dispersione ha una pendenza negativa, e quindi un coefficiente di correlazione negativo: l'umidità diminuisce con l'aumento della temperatura per questa misurazione. Un valore r pari a 1 o -1 indica un adattamento perfetto. Il valore r per questi dati conferma che l'adattamento è relativamente scarso.

Vedi anche

Funzioni

Esempi correlati

Ulteriori informazioni