# How to write an 'if' script that changes a function depending on x?

1 view (last 30 days)
Luqas Lundahl on 11 Mar 2022
Commented: Luqas Lundahl on 11 Mar 2022
Hello!
I am trying to write a script that changes a function depending on the value of x.
sin(x) if x<=3
arctan(x) if 3<x<=7
e^-x if x<7
trying to only use 1 if statement!
function y=funk(x)
if
x <= 3;
y=sin(x);
else
(3<x) && (x>=7);
y=atan(x);
else
x>7;
y=e^(-x)
end
I'm not sure if i made a syntax error or the code is just plain wrong... Any help is appriciated!

Johan on 11 Mar 2022
you need to use elseif for secondary condition in your if statement:
function y=funk(x)
if
x <= 3;
y=sin(x);
elseif
(3<x) && (x>=7);
y=atan(x);
else
x>7;
y=e^(-x)
end
Luqas Lundahl on 11 Mar 2022
would i need to use else if on the second else as well?

Torsten on 11 Mar 2022
Edited: Torsten on 11 Mar 2022
function y = funk(x)
if x <= 3
y = sin(x);
elseif (x > 3) && (x <= 7)
y = atan(x);
else
y = exp(-x);
end
end
Luqas Lundahl on 11 Mar 2022
thank you!

R2021b

### Community Treasure Hunt

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

Start Hunting!