Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

piecewise

조건부로 정의된 표현식 또는 함수

설명

pw = piecewise(cond1,val1,cond2,val2,...)는 조건 cond1이 참일 때 값이 val1, cond2가 참일 때 값이 val2 등이 되는 조각별 표현식 또는 조각별 함수 pw를 반환합니다. 어떤 조건도 참이 아니면 pw 값은 NaN입니다.

예제

pw = piecewise(cond1,val1,cond2,val2,...,otherwiseVal)은 어떤 조건도 참이 아니면 값 otherwiseVal을 갖는 조각별 표현식 또는 조각별 함수 pw를 반환합니다.

예제

예제

모두 축소

piecewise를 사용하여 다음 조각별 표현식을 정의합니다.

y={-1x<01x>0

syms x
y = piecewise(x < 0,-1,x > 0,1)
y = 

{-1 if  x<01 if  0<x

subs를 사용하여 x에 대입하여 -2, 02에서 y를 계산합니다. x = 0에서는 y가 정의되지 않았으므로 값이 NaN입니다.

subs(y,x,[-2 0 2])
ans = (-1NaN1)

다음 함수를 기호적으로 정의합니다.

y(x)={-1x<01x>0

syms y(x)
y(x) = piecewise(x < 0,-1,x > 0,1)
y(x) = 

{-1 if  x<01 if  0<x

y(x)는 기호 함수이므로 x의 값에 대해 직접 계산할 수 있습니다. -2, 02에서 y(x)를 계산합니다. x = 0에서는 y(x)가 정의되지 않았으므로 값이 NaN입니다. 자세한 내용은 기호 함수 만들기 항목을 참조하십시오.

y([-2 0 2])
ans = (-1NaN1)

추가 입력 인수를 지정하여 어떤 조건도 참이 아닐 때 조각별 함수의 값(그 밖의 경우의 값)을 설정합니다. 추가 인수를 지정하지 않으면 그 밖의 경우일 때 이 함수의 디폴트 값은 NaN입니다.

조각별 함수를 정의합니다.

y={-2x<-20-2<x<01otherwise.

syms y(x)
y(x) = piecewise(x < -2,-2,(-2 < x) & (x < 0),0,1)
y(x) = 

{-2 if  x<-20 if  x(-2,0)1 otherwise

linspace를 사용하여 x 값을 생성한 다음, -31 사이에서의 y(x)를 계산합니다. -2, 0에서 다른 조건이 참이 아니기 때문에 y(x)1로 계산됩니다.

xvalues = linspace(-3,1,5)
xvalues = 1×5

    -3    -2    -1     0     1

yvalues = y(xvalues)
yvalues = (-21011)

fplot을 사용하여 아래의 조각별 표현식을 플로팅합니다.

y={-2x<-2x-2<x<22x>2.

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를 사용하여 다음 조각별 표현식을 미분합니다.

y={1/xx<-1sin(x)/xx-1

syms x
y = piecewise(x < -1,1/x,x >= -1,sin(x)/x);
diffy = diff(y,x)
diffy = 

{-1x2 if  x<-1cos(x)x-sin(x)x2 if  -1<x

int를 사용하여 y를 적분합니다.

inty = int(y,x)
inty = 

{log(x) if  x<-1sinint(x) if  -1x

limit를 사용하여 0에서 y의 극한을 구합니다.

limit(y,x,0)
ans = 1

-1에서 y의 우극한과 좌극한을 구합니다. 자세한 내용은 limit 항목을 참조하십시오.

limit(y,x,-1,'right')
ans = sin(1)
limit(y,x,-1,'left')
ans = -1

두 개의 조각별 표현식의 덧셈, 뺄셈, 곱셈 및 나눗셈을 수행합니다. 결과로 생성된 조각별 표현식은 초기 조각별 표현식이 정의된 구간 내에서만 정의됩니다.

syms x
pw1 = piecewise(x < -1,-1,x >= -1,1);
pw2 = piecewise(x < 0,-2,x >= 0,2);
add = pw1+pw2
add = 

{-3 if  x<-1-1 if  x[-1,0)3 if  0x

sub = pw1-pw2
sub = 

{1 if  x<-13 if  x[-1,0)-1 if  0x

mul = pw1*pw2
mul = 

{2 if  x<-1-2 if  x[-1,0)2 if  0x

div = pw1/pw2
div = 

{12 if  x<-1-12 if  x[-1,0)12 if  0x

subs를 통해 표현식의 일부를 바꿔 조각별 표현식을 수정합니다. 기존 표현식을 새 조각별 표현식의 그 밖의 경우의 값으로 지정하여 조각별 표현식을 확장합니다. 이 동작은 두 개의 조각별 표현식을 결합합니다. piecewise는 중복되거나 충돌하는 조건을 확인하지 않습니다. 대신, piecewise는 if-else 사다리처럼 첫 번째 참 조건일 때의 값을 반환합니다.

subs를 사용하여 조각별 표현식의 조건 x < 2x < 0으로 변경합니다.

syms x
pw = piecewise(x < 2,-1,x > 0,1);
pw = subs(pw,x < 2,x < 0)
pw = 

{-1 if  x<01 if  0<x

pw를 그 밖의 경우의 값으로 갖는 새로운 조각별 표현식을 만들고, pw에 조건 x > 5 및 값 1/x를 추가합니다.

pw = piecewise(x > 5,1/x,pw)
pw = 

{1x if  5<x-1 if  x<01 if  0<x

입력 인수

모두 축소

조건으로, 기호 조건 또는 기호 변수로 지정됩니다. 기호 변수는 미지의 조건을 나타냅니다.

예: x > 2

조건을 충족하는 경우의 값으로, 숫자, 벡터, 행렬, 다차원 배열 또는 기호 숫자, 기호 변수, 기호 벡터, 기호 행렬, 기호 다차원 배열, 기호 함수, 기호 표현식으로 지정됩니다.

어떤 조건도 참이 아닐 때의 값으로, 숫자, 벡터, 행렬, 다차원 배열로 지정되거나 기호 숫자, 기호 변수, 기호 벡터, 기호 행렬, 다차원의 기호 배열, 기호 함수, 기호 표현식으로 지정됩니다. otherwiseVal을 지정하지 않으면 해당 값은 NaN입니다.

출력 인수

모두 축소

조각별 표현식 또는 조각별 함수로, 기호 표현식 또는 기호 함수로 반환됩니다. pw의 값은 첫 번째 조건 cond가 참일 때의 값 val입니다. pw의 값을 구하려면 subs를 사용하여 pw의 변수에 값을 대입하십시오.

  • piecewise는 중복되거나 충돌하는 조건을 확인하지 않습니다. 조각별 표현식은 첫 번째 참 조건일 때의 값을 반환하고 그 뒤에 오는 참인 표현식은 무시합니다. 따라서 piecewise는 if-else 사다리를 모방합니다.

버전 내역

R2016b에 개발됨

참고 항목

| | | | | | | |