Using inequalities to compare arrays
3 次查看(过去 30 天)
显示 更早的评论
Hello I am working on a code that will determine if data is within or beyond standard deviations of a particular curve. I currently cannot get to the point where I can alert a user via email because my if statement is comparing two arrays rather than two numbers.
%Define Variables
Time = table2array(SampleDataOutput(:,1));
Temp = table2array(SampleDataOutput(:,2));
CowA = table2array(CowADataOutput(:,2));
%Set Tolerances based on Sample
HighTolerance = Temp + std(Temp);
HighTolerance2 = Temp + (2*std(Temp));
LowTolerance = Temp - std(Temp);
LowTolerance2 = Temp - (2*std(Temp));
%Plot Cow A against Tolerances
figure(1)
plot(Time,Temp,'color','green')
hold on
plot(Time,HighTolerance,'color','yellow')
plot(Time,HighTolerance2,'color','red')
plot(Time,LowTolerance,'color','yellow')
plot(Time,LowTolerance2,'color','red')
plot(Time,CowA,'color','black')
hold off
title('Cow A from 5:30AM to 11:00AM')
xlabel('Time (15-minute increments)')
ylabel('Temperature (Degrees Fahrenheit)')
legend ('Green=Ideal', 'Yellow=Warning','Red=Sick Cow')
% If-Then Cow A - Alerts
if CowA > HighTolerance && CowA < HighTolerance2 % THIS IS NOT WORKING BECAUSE INEQUALITY FOR TWO ARRAYS
sendmail('example@gmail.com','Cow A Health-FRS', ...
'Cow A should be watched, please look at your updated site to see more details.');
end
if CowA > HighTolerance2
sendmail('example.com','Cow A Health-FRS', ...
'Cow A seems to have a fever based on our readings. Please see your updated site for more details asap!');
end
0 个评论
采纳的回答
Image Analyst
2019-2-21
What are the sizes (rows and columns) of CowA and HighTolerance2?
Do you want to enter the "if" if ALL of them are true, or if ANY of them are true?
Use all() or any() to compare arrays.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Web Services 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!