Simple if statement always gives 0
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Tom Oud
am 5 Jun. 2019
Kommentiert: Tom Oud
am 5 Jun. 2019
I'm trying to write a simple function which makes a value either 1 or 0 depending on the input. It looks like this:
function f = W(t)
if 0 <= t < (3/12)
f = 0;
end
if (3/12) <= t <= (8/12)
f = 1;
end
if (8/12) < t < 1
f = 0;
end
if t >= 1
t = t - 1;
end
end
However, no matter what the input is, it always returns zero. What's causing this?
0 Kommentare
Akzeptierte Antwort
Alex Mcaulley
am 5 Jun. 2019
You need to put && between two comparisons as:
function f = W(t)
if 0 <= t && t < (3/12)
f = 0;
end
if (3/12) <= t && t <= (8/12)
f = 1;
end
if (8/12) < t && t < 1
f = 0;
end
if t >= 1
t = t - 1;
end
end
Also note that the last comparison is not returning anything
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!