Azzera filtri
Azzera filtri

Simple if statement always gives 0

5 visualizzazioni (ultimi 30 giorni)
Tom Oud
Tom Oud il 5 Giu 2019
Commentato: Tom Oud il 5 Giu 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?

Risposta accettata

Alex Mcaulley
Alex Mcaulley il 5 Giu 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

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by