Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

Visualice la correlación entre temperatura y humedad

Este ejemplo muestra cómo leer múltiples variables de un canal ThingSpeak™ existente y generar un diagrama de dispersión para examinar la correlación en temperatura y presión. En el ejemplo, modifica una de las plantillas de código proporcionadas por la aplicación MATLAB Analaysis y MATLAB Visualizations.

ThingSpeak channel 12397 contiene datos meteorológicos de una estación meteorológica situada en la parte superior de un estacionamiento en el campus de MathWorks® en Natick, MA. El campo 4 contiene la medición de temperatura, el campo 3 contiene la medición de humedad.

Crear un MATLAB Visualización a partir del código de plantilla

Para crear una visualización de diagrama de dispersión de datos de un canal ThingSpeak, puede escribir un script de MATLAB utilizando una plantilla de código proporcionada en la aplicación MATLAB Visualizations.

Vaya a la pestaña Aplicaciones y seleccione Visualizaciones MATLAB. Haga clic en Nuevo, seleccione Visualizar correlación entre temperatura y humedad y haga clic en Crear.

Visualiza tus datos

ThingSpeak completa el campo Código MATLAB con el código para generar el histograma de temperatura.

1) Establecer las variables para comunicarse con ThingSpeak. En este ejemplo, la clave API de lectura no es necesaria porque el canal de la estación meteorológica es público. Si estás leyendo desde tu propio canal, puedes modificar estos valores.

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

2) Utilice thingSpeakRead para recuperar 300 puntos de los campos de temperatura y humedad.

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

3) Extraer los datos de temperatura y velocidad del viento.

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

4) Utilice scatter para generar el gráfico. Establezca las etiquetas del eje x y del eje y usando xlabel y ylabel.

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

5) Puede editar el código de la plantilla para que se ajuste a su aplicación. Por ejemplo, puede editar el número de puntos para leer y los títulos de las gráficas en el código. Haga clic en Guardar y ejecutar para generar el resultado. Dado que el diagrama de dispersión se genera a partir de datos en vivo, su diagrama se ve similar pero no idéntico a este diagrama.

Agregue visualización a la vista de su canal

Opcionalmente, puede agregar visualizaciones guardadas a su canal. En Configuración de visualización, haga clic en Agregar/Editar esta visualización a un canal para expandir la lista de canales.

Haga clic en la casilla de verificación que corresponde al canal al que desea agregar la visualización. Para agregar visualizaciones privadas, marque Vista privada. Para compartir la URL y agregar la visualización a la Vista pública, seleccione Crear una URL pública. Para actualizar sus selecciones, haga clic en Guardar configuración de pantalla.

Determinar el ajuste lineal

La función polyfit puede proporcionar un ajuste a datos lineales cuando el grado de ajuste se establece en un valor de 1. El siguiente código no está incluido en la plantilla. Para trazar múltiples distribuciones, agregue este código a la plantilla.

1) Utilice polyfit para realizar un ajuste a los datos. Especifique 1 como último argumento para un ajuste lineal.

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

2) Debido a que la temperatura y la humedad no tienen una relación definida, el ajuste lineal no es necesariamente bueno. Puede comprobar la calidad del ajuste con un coeficiente de correlación. Calcule y muestre el coeficiente de correlación.

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

3) Presione Guardar y ejecutar para generar el gráfico dual. El gráfico de dispersión tiene una pendiente negativa y, por lo tanto, un coeficiente de correlación negativo: la humedad disminuye al aumentar la temperatura para esta medición. Un valor de r de 1 o -1 indica un ajuste perfecto. El valor de r para estos datos confirma que el ajuste es relativamente pobre.

Consulte también

Funciones

Ejemplos relacionados

Más acerca de