Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

## Calculate High and Low Temperatures

The MATLAB Analysis and MATLAB Visualizations apps in ThingSpeak™ let you pick from a selection of code templates as a starting point for building your own project. This example demonstrates how to read data, identify certain elements, and display the results. The example uses data from ThingSpeak channel 12397, which collects weather data from an Arduino® based weather station in Natick, MA.

### Create a MATLAB Analysis Script from Template Code

To calculate the maximum and minimum daily temperatures from the Natick weather station, write a MATLAB® script using the code template provided.

Navigate to the Apps tab in ThingSpeak, and select MATLAB Analysis. Click , choose Calculate high and low temperatures, and click .

### Analyze Your Data

The MATLAB Code field is prepopulated with code to calculate the maximum and minimum temperatures over the past 24 hours.

1. Set the variables for communicating with ThingSpeak. The `readChannelID` is the channel ID for the public channel that collects data from the weather station. The `temperatureFieldID` is the field in the channel that contains temperature values. Assign a value to `readAPIKey` only if you are reading data from your own private channel instead of the weather station channel.

```readChannelID = 12397; temperatureFieldID = 4; readAPIKey = '';```
2. Read temperature values from the past 24 hours using the `thingSpeakRead` function.

`[tempF,timeStamp] = thingSpeakRead(readChannelID,'Fields',temperatureFieldID,'numDays',1,'ReadKey',readAPIKey);`
3. Calculate the maximum and minimum temperatures in Fahrenheit using `max` and `min`. Then, identify the corresponding timestamps, and display the results.

```[maxTempF,maxTempIndex] = max(tempF); [minTempF,minTempIndex] = min(tempF); timeMaxTemp = timeStamp(maxTempIndex); timeMinTemp = timeStamp(minTempIndex); display(maxTempF,'Maximum Temperature for the past 24 hours is'); display(minTempF,'Minimum Temperature for the past 24 hours is');```
4. Execute your code by clicking . The Output field displays your results.

### Write Data to a Channel

1. Store your maximum or minimum temperature calculation result by writing it to a private channel. To create a ThingSpeak channel, go to the Channels tab, and select My Channels. Click . Select the corresponding check box, and enter these channel setting values:

• Name: ```Temperature Measurement```

• Field 1: ```Temperature (F)```

Click .

2. In the MATLAB Code field, set the variables for writing to your private channel. Replace the given values for `writeChannelID` and `writeAPIKey` with your values. You can find the channel ID and API Key under the Channel Info panel on the right side of the page.

```% Replace the [] with channel ID to write data to: writeChannelID = []; % Enter the Write API Key between the '' below: writeAPIKey = '';```

3. Write the maximum temperature reading to your channel. To save the minimum temperature value, change `maxTempF` to `minTempF`.

`thingSpeakWrite(writeChannelID,maxTempF,'timestamp',timeMaxTemp,'Writekey',writeAPIKey);`
4. Execute your code by clicking . The chart in your ThingSpeak channel is populated with a single point, representing the maximum temperature reading at the time when it was recorded. You can access your channel by clicking the channel link in the Channel Info panel on the right side of the page.