Why I am getting sum =NaN. Help, here is my code.

3 Ansichten (letzte 30 Tage)
Aman Kumar
Aman Kumar am 29 Mai 2020
Verschoben: Voss am 3 Jan. 2024
% Enter your MATLAB Code below
% Enter your MATLAB Code below
% Read Output Water Quantity over the past month from a ThingSpeak channel and write
% the average to another ThingSpeak channel.
% Channel 1035265 contains data from the MathWorks water supply station, located
% in Natick, Massachusetts. The data is collected once every day. Field
% 3 contains output liquid quantity data.
% Channel ID to read data from
readChannelID = 1035265;
% Output Liquid Quantity Field ID
outputliquidqantityFieldID = 3;
% Channel Read API Key
% If your channel is private, then enter the read API Key between the '' below:
readAPIKey = '';
% Get Output Liquid Quantity data for the last 30 days from the MathWorks water supply
% station channel. Learn more about the THINGSPEAKREAD function by going to
% the Documentation tab on the right side pane of this page.
meter_reading = thingSpeakRead(readChannelID,'Fields', outputliquidqantityFieldID,'NumDays',10,'ReadKey',readAPIKey);
sum = sum(meter_reading)
% Calculate the Cost
Billing_cost = 5*(meter_reading/1000);
display(Billing_cost,'Total Billing Cost (INR)');
% Start by setting the channel ID and Alert key. All alert key start with TAK.
formatSpec = "The Water consumption bill is: %d,%d";
A1 = 5*(meter_reading/1000);
A2 = meter_reading
apiKey = 'TAK14ZOZGAXZQMR05';
alertURL = "https://api.thingspeak.com/alerts/send";
options = weboptions("HeaderFields", ["ThingSpeak-Alerts-API-Key", apiKey ]);
alertBody = sprintf(formatSpec,A1,A2)
alertSubject = sprintf(" Water consumption exceeded 100 l!");
if meter_reading >= 100
webwrite(alertURL, "body", alertBody, "subject", alertSubject, options);
end

Akzeptierte Antwort

KSSV
KSSV am 29 Mai 2020
Verschoben: Voss am 3 Jan. 2024
If data has any NaN value, sum will be NaN....you need to omit nan while summing. You can use nansum. Read about it.
  3 Kommentare
KSSV
KSSV am 29 Mai 2020
Verschoben: Voss am 3 Jan. 2024
nansum requires Financial sum toolbox which you don't have. You can try sum with nanflag....
sum(meter_reading,'omitnan')
Aman Kumar
Aman Kumar am 29 Mai 2020
Verschoben: Voss am 3 Jan. 2024
Thank you so much, it worked. :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Communitys

Weitere Antworten in  ThingSpeak Community

Kategorien

Mehr zu Read Data from Channel finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by