MATLAB Answers

Creating a Traffic Light using matlab code

61 views (last 30 days)
Hello everyone,
I have matlab 2015b. I wrote a code for an assignment that categorizes a dataset as healthy, aged, and replace.
Part of my assignment is to create a horizontal visual dashboard. Basically like a traffic stop light. The traffic light needs to light up green for healthy, yellow for aged, and red for replace based on the point that is being evaluated.
Is this something I would use simulink for or GUI or is it simplier than I think in matlab?
Any help is greatly appreciated.
clear all
close all
clc
load('ThreeClasses')
for i = 1:size(TestPoints,1)
X=TestPoints(i,2);
Y=TestPoints(i,3);
Delta1=log(P1)-0.5*mu1*inv(Sw)*mu1'+mu1*inv(Sw)*[X;Y];
Delta2=log(P2)-0.5*mu2*inv(Sw)*mu2'+mu2*inv(Sw)*[X;Y];
Delta3=log(P3)-0.5*mu3*inv(Sw)*mu3'+mu3*inv(Sw)*[X;Y];
if Delta1 > Delta2 && Delta1 > Delta3
plot(X,Y,'g.','markersize',30);
elseif Delta2 > Delta1 && Delta2 > Delta3
plot(X,Y,'y.','markersize',30);
else
plot(X,Y,'r.','markersize',30);
end
pause(1)
end
  1 Comment
Sudhakar Shinde
Sudhakar Shinde on 27 Oct 2020
Use of GUI to show as red, yellow and green will be more preferable for visual demonstration.

Sign in to comment.

Accepted Answer

More Answers (1)

Muhammad Aqib
Muhammad Aqib on 5 Jan 2021
clear all close all clc load('ThreeClasses') for i = 1:size(TestPoints,1) X=TestPoints(i,2); Y=TestPoints(i,3); Delta1=log(P1)-0.5*mu1*inv(Sw)*mu1'+mu1*inv(Sw)*[X;Y]; Delta2=log(P2)-0.5*mu2*inv(Sw)*mu2'+mu2*inv(Sw)*[X;Y]; Delta3=log(P3)-0.5*mu3*inv(Sw)*mu3'+mu3*inv(Sw)*[X;Y]; if Delta1 > Delta2 && Delta1 > Delta3 plot(X,Y,'g.','markersize',30); elseif Delta2 > Delta1 && Delta2 > Delta3 plot(X,Y,'y.','markersize',30); else plot(X,Y,'r.','markersize',30); end pause(1) end

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by