Main Content

Compute Linear Response Characteristics

This example shows how to compute the linear response characteristics of the storing tank temperature of a solar water heater.

Read Data

ThingSpeak™ channel 29633 contains the storing tank temperature data (in degree Celsius) of a solar water heater in Cambridge, UK. The temperature data is collected once every 15 seconds. Read the data for 2 hours from channel 29633 using the thingSpeakRead function. Convert the timestamps to elapsed minutes from the start.

start=datetime('September 12, 2017 06:09:00 AM');
stop=datetime('September 12, 2017 8:09:00 AM');
data = thingSpeakRead(29633,'Fields',5,'DateRange',[start stop],'OutputFormat','table');
data.Timestamps=24*60*(data.Timestamps-data.Timestamps(1));

Linear Response Characteristics

Assuming that solar water heater is a linear system, calculate the related performance indicators using the temperature as the response data of the system.

perfIndicators = lsiminfo(data.StoreTopTemp,datenum(data.Timestamps))
perfIndicators = 

  struct with fields:

    SettlingTime: 119.1970
             Min: 47.2000
         MinTime: 106.4500
             Max: 49.9000
         MaxTime: 20.4333

Send Performance Indicators to ThingSpeak

Send the minimum, minimum time, maximum, and maximum time performance indicators to a ThingSpeak channel using the thingSpeakWrite function. Change the channelID and the writeAPIKey to send data to your channel.

channelID=17504;
writeAPIKey='23ZLGOBBU9TWHG2H';
thingSpeakWrite(channelID,[perfIndicators.Min,perfIndicators.MinTime,perfIndicators.Max,perfIndicators.MaxTime],'WriteKey',writeAPIKey);

See Also

Functions