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
0assume을 사용하여 조건 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에 개발됨