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

1 回表示 (過去 30 日間)
Luqas Lundahl
Luqas Lundahl 2022 年 3 月 11 日
コメント済み: Luqas Lundahl 2022 年 3 月 11 日
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
  1 件のコメント
Luqas Lundahl
Luqas Lundahl 2022 年 3 月 11 日
would i need to use else if on the second else as well?

サインインしてコメントする。


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