Borrar filtros
Borrar filtros

Simple if statement always gives 0

4 visualizaciones (últimos 30 días)
Tom Oud
Tom Oud el 5 de Jun. de 2019
Comentada: Tom Oud el 5 de Jun. de 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?

Respuesta aceptada

Alex Mcaulley
Alex Mcaulley el 5 de Jun. de 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

Más respuestas (0)

Categorías

Más información sobre Multidimensional Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by