マトラブを使用して区分関数を生成する方法
MATLABでは、以下の方法で部分関数を生成できます。
方法1: if-else文を利用する
function y = piecewiseFunc(x)
if x < 0
y = x^2;
elseif x >= 0 && x < 5
y = 2*x + 1;
else
y = sqrt(x);
end
end
方法2:switch-case文を使う
function y = piecewiseFunc(x)
switch true
case x < 0
y = x^2;
case x >= 0 && x < 5
y = 2*x + 1;
otherwise
y = sqrt(x);
end
end
方法3:ベクトル化演算を用いる
function y = piecewiseFunc(x)
y = zeros(size(x));
y(x < 0) = x(x < 0).^2;
y(x >= 0 & x < 5) = 2*x(x >= 0 & x < 5) + 1;
y(x >= 5) = sqrt(x(x >= 5));
end
3通りの方法いずれも、入力値xから、対応する区分関数の値yを返すものです。実装する区分関数の形に応じて、3つの方法のうち1つを選択してください。