조건부로 정의된 표현식 또는 함수
piecewise
를 사용하여 다음 조각별 표현식을 정의합니다.
syms x y = piecewise(x<0, -1, x>0, 1)
y = piecewise(x < 0, -1, 0 < x, 1)
subs
를 사용하여 x
에 대입하여 -2
, 0
및 2
에서 y
를 계산합니다. x = 0
에서는 y
가 정의되지 않았으므로 값이 NaN
입니다.
subs(y, x, [-2 0 2])
ans = [ -1, NaN, 1]
다음 함수를 기호적으로 정의합니다.
syms y(x) y(x) = piecewise(x<0, -1, x>0, 1)
y(x) = piecewise(x < 0, -1, 0 < x, 1)
y(x)
는 기호 함수이므로 x
의 값에 대해 직접 계산할 수 있습니다. -2
, 0
및 2
에서 y(x)
를 계산합니다. x = 0
에서는 y(x)
가 정의되지 않았으므로 값이 NaN
입니다. 자세한 내용은 기호 함수 만들기 항목을 참조하십시오.
y([-2 0 2])
ans = [ -1, NaN, 1]
추가 입력 인수를 지정하여 어떤 조건도 참이 아닐 때 조각별 함수의 값(그 밖의 경우의 값)을 설정합니다. 추가 인수를 지정하지 않으면 그 밖의 경우일 때 이 함수의 디폴트 값은 NaN
입니다.
조각별 함수를 정의합니다.
syms y(x) y(x) = piecewise(x<-2, -2, -2<x<0, 0, 1)
y(x) = piecewise(x < -2, -2, x in Dom::Interval(-2, 0), 0, 1)
linspace
로 x
값을 생성한 다음 -3
과 1
사이에서의 y(x)
를 계산합니다. -2
, 0
에서 다른 조건이 참이 아니기 때문에 y(x)
가 1
로 계산됩니다.
xvalues = linspace(-3,1,5) yvalues = y(xvalues)
xvalues = -3 -2 -1 0 1 yvalues = [ -2, 1, 0, 1, 1]
fplot
을 사용하여 아래의 조각별 표현식을 플로팅합니다.
syms x
y = piecewise(x<-2, -2, -2<x<2, x, x>2, 2);
fplot(y)
조각별 표현식은 생성되는 시점에 기존 가정이 적용됩니다. 조각별 표현식을 생성한 후에 가정을 적용하려면 그 표현식에 simplify
를 사용합니다.
x > 0
라고 가정합니다. 그런 다음 동일하게 x > 0
조건을 가지는 조각별 표현식을 정의합니다. 그러면 piecewise
는 이 가정을 자동으로 적용하여 조건을 단순화합니다.
syms x assume(x > 0) pw = piecewise(x<0, -1, x>0, 1)
pw = 1
추후 계산을 위해 x
에 대한 가정을 지웁니다.
assume(x,'clear')
x > 0
조건을 가지는 조각별 표현식 pw
를 만듭니다. 그런 다음 x
> 0
인 가정을 설정합니다. simplify
를 사용하여 pw
에 가정을 적용합니다.
pw = piecewise(x<0, -1, x>0, 1); assume(x > 0) pw = simplify(pw)
pw = 1
추후 계산을 위해 x
에 대한 가정을 지웁니다.
assume(x, 'clear')
diff
, int
, limit
를 사용하여 조각별 표현식을 미분, 적분하고 극한을 구합니다.
diff
를 사용하여 다음 조각별 표현식을 미분합니다.
syms x y = piecewise(x<-1, 1/x, x>=-1, sin(x)/x); diffy = diff(y, x)
diffy = piecewise(x < -1, -1/x^2, -1 < x, cos(x)/x - sin(x)/x^2)
int
를 사용하여 y
를 적분합니다.
inty = int(y, x)
inty = piecewise(x < -1, log(x), -1 <= x, sinint(x))
limit
를 사용하여 0
, -1
에서 y
의 극한을 구합니다. limit
는 양방향에서 극한을 구하기 때문에 양쪽 둘 다에 대해 조각별 표현식을 정의해야 합니다. 또는 우극한이나 좌극한을 구할 수도 있습니다. 자세한 내용은 limit
를 참조하십시오.
limit(y, x, 0) limit(y, x, -1)
ans = 1 ans = limit(piecewise(x < -1, 1/x, -1 < x, sin(x)/x), x, -1)
-1
에서 두 조건이 만나기 때문에 두 방향에서의 극한이 다르며 limit
가 양방향 극한을 구할 수 없습니다.
두 개의 조각별 표현식의 덧셈, 뺄셈, 곱셈 및 나눗셈을 수행합니다. 결과로 생성된 조각별 표현식은 초기 조각별 표현식이 정의된 구간 내에서만 정의됩니다.
syms x pw1 = piecewise(x<-1, -1, x>=-1, 1); pw2 = piecewise(x<0, -2, x>=0, 2); add = pw1 + pw2 sub = pw1 - pw2 mul = pw1 * pw2 div = pw1 / pw2
add = piecewise(x < -1, -3, x in Dom::Interval([-1], 0), -1, 0 <= x, 3) sub = piecewise(x < -1, 1, x in Dom::Interval([-1], 0), 3, 0 <= x, -1) mul = piecewise(x < -1, 2, x in Dom::Interval([-1], 0), -2, 0 <= x, 2) div = piecewise(x < -1, 1/2, x in Dom::Interval([-1], 0), -1/2, 0 <= x, 1/2)
subs
를 통해 표현식의 일부를 바꿔 조각별 표현식을 수정합니다. 기존 표현식을 새 조각별 표현식의 그 밖의 경우의 값으로 지정하여 조각별 표현식을 확장합니다. 이 동작은 두 개의 조각별 표현식을 결합합니다. piecewise
는 중복되거나 충돌하는 조건을 확인하지 않습니다. 대신, piecewise
는 if-else 사다리처럼 첫 번째 참 조건일 때의 값을 반환합니다.
subs
를 사용하여 조각별 표현식의 조건 x<2
를 x<0
로 변경합니다.
syms x pw = piecewise(x<2, -1, x>0, 1); pw = subs(pw, x<2, x<0)
pw = piecewise(x < 0, -1, 0 < x, 1)
pw
를 그 밖의 경우의 값으로 가지는 새로운 조각별 표현식을 만들고, pw
에 조건 x>5
및 값 1/x
을 추가합니다.
pw = piecewise(x>5, 1/x, pw)
pw = piecewise(5 < x, 1/x, x < 0, -1, 0 < x, 1)
piecewise
는 중복되거나 충돌하는 조건을 확인하지 않습니다. 조각별 표현식은 첫 번째 참 조건일 때의 값을 반환하고 그 뒤에 오는 참인 표현식은 무시합니다. 따라서 piecewise
는 if-else 사다리를 모방합니다.
and
| assume
| assumeAlso
| assumptions
| if
| in
| isAlways
| not
| or