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

2 次查看(过去 30 天)
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!

回答(2 个)

Johan
Johan 2022-3-11
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

Torsten
Torsten 2022-3-11
编辑:Torsten 2022-3-11
function y = funk(x)
if x <= 3
y = sin(x);
elseif (x > 3) && (x <= 7)
y = atan(x);
else
y = exp(-x);
end
end

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by