in
기호 입력값의 숫자형
설명
예제
기호 변수 또는 기호 표현식에 조건 표현하기
구문 in(x,type)
은 x
가 지정된 type
이라는 조건을 표현합니다. x
가 Real
형이라는 조건을 표현합니다.
syms x cond = in(x,'real')
cond = in(x, 'real')
isAlways
를 사용하여 조건을 평가합니다. isAlways
가 조건을 확인할 수 없으므로 경고를 발생시키고 논리값 0
(false
)을 반환합니다.
isAlways(cond)
Warning: Unable to prove 'in(x, 'real')'. ans = logical 0
assume
을 사용하여 조건 cond
가 참이라고 가정하고 조건을 다시 평가합니다. isAlways
함수가 논리값 1
(true
)을 반환하여 조건이 참임을 나타냅니다.
assume(cond) isAlways(cond)
ans = logical 1
추후 계산에서 x
를 사용할 수 있도록 syms
를 사용하여 변수를 다시 만들어서 가정을 지웁니다.
syms x
출력값에서 조건 표현하기
solve
등의 함수는 출력값에서 in
을 사용하여 조건을 표현합니다.
solve
를 사용하여 방정식 sin(x) == 0
을 풉니다. 해의 조건을 반환하도록 옵션 ReturnConditions
를 true
로 설정합니다. solve
함수는 in
을 사용하여 조건을 표현합니다.
syms x [solx, params, conds] = solve(sin(x) == 0,'ReturnConditions',true)
solx = pi*k params = k conds = in(k, 'integer')
해는 in(k,'integer')
조건 하에 파라미터 k
에 대해 pi*k
입니다. 이 조건을 사용하여 추후 계산에 가정을 설정할 수 있습니다. 이 가정하에서 solve
는 정수 값인 k
만 반환합니다.
assume(conds) k = solve(solx > 0, solx < 5*pi, params)
k = 1 2 3 4
이러한 k
값에 대응하는 해를 구하기 위해 subs
를 사용하여 solx
의 k
에 대입합니다.
subs(solx,k)
ans = pi 2*pi 3*pi 4*pi
추후 계산에서 k
를 사용할 수 있도록 가정을 지웁니다.
assume(params, 'clear')
기호 행렬의 요소가 유리수인지 테스트하기
기호 행렬 M
을 만듭니다.
syms x y z M = sym([1.22 i x; sin(y) 3*x 0; Inf sqrt(3) sym(22/7)])
M = [ 61/50, 1i, x] [ sin(y), 3*x, 0] [ Inf, 3^(1/2), 22/7]
isAlways
를 사용하여 M
의 요소가 유리수인지 테스트합니다. in
함수는 M
에 대해 요소별로 동작을 수행합니다. isAlways
는 해당 명제를 확인할 수 없는 경우에 대해 논리값 0
(false
)을 반환하고 경고를 발생시킵니다.
in(M,'rational')
ans = [ in(61/50, 'rational'), in(1i, 'rational'), in(x, 'rational')] [ in(sin(y), 'rational'), in(3*x, 'rational'), in(0, 'rational')] [ in(Inf, 'rational'), in(3^(1/2), 'rational'), in(22/7, 'rational')]
isAlways(in(M,'rational'))
Warning: Unable to prove 'in(sin(y), 'rational')'. Warning: Unable to prove 'in(3*x, 'rational')'. Warning: Unable to prove 'in(x, 'rational')'. ans = 3×3 logical array 1 0 0 0 0 1 0 0 1
입력 인수
버전 내역
R2014b에 개발됨