This example shows how to compute the linear response characteristics of the storing tank temperature of a solar water heater.
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));
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 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);