Main Content

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

isAlways

변수의 모든 값에 대해 방정식 또는 부등식이 성립하는지 검사

isAlways는 결정 불가능한 입력값에 대해 거짓을 반환할 때 경고를 발생시킵니다. 경고를 표시하지 않으려면 Unknown 옵션을 isAlways(cond,'Unknown','false')와 같이 false로 설정하십시오. 자세한 내용은 결정 불가능한 조건에 대한 출력값 처리하기 항목을 참조하십시오.

설명

예제

isAlways(cond)cond의 기호 변수의 모든 가능한 값에 대해 조건 cond가 유효한지 검사합니다. cond 검증 시 isAlways 함수는 cond의 변수에 적용된 모든 가정을 고려합니다. 조건이 성립하면 isAlways는 논리값 1(true)을 반환합니다. 그렇지 않은 경우 논리값 0(false)을 반환합니다.

예제

isAlways(cond,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용합니다.

예제

조건 테스트하기

다음 부등식이 x의 모든 값에 대해 유효한지 검사합니다.

syms x
isAlways(abs(x) >= 0)
ans =
  logical
   1

isAlways는 논리값 1(true)을 반환하여 부등식 abs(x) >= 0x의 모든 값에 대해 유효함을 나타냅니다.

다음 방정식이 x의 모든 값에 대해 유효한지 검사합니다.

isAlways(sin(x)^2 + cos(x)^2 == 1)
ans =
  logical
   1

isAlways는 논리값 1(true)을 반환하여 이 방정식이 x의 모든 값에 대해 유효함을 나타냅니다.

여러 조건 중 하나가 유효한지 테스트하기

다음 두 조건 중 적어도 하나 이상이 유효한지 검사합니다. 여러 조건 중 적어도 하나가 유효한지 검사하려면 논리 연산자 or 또는 그 단축 연산자 |를 사용하여 결합하십시오.

syms x
isAlways(sin(x)^2 + cos(x)^2 == 1 | x^2 > 0)
ans =
  logical
   1

두 조건이 모두 유효한지 검사합니다. 여러 조건이 유효한지 검사하려면 논리 연산자 and 또는 그 단축 연산자 &를 사용하여 결합하십시오.

isAlways(sin(x)^2 + cos(x)^2 == 1 & abs(x) > 2*abs(x))
ans =
  logical
   0

결정 불가능한 조건에 대한 출력값 처리하기

다음 조건을 테스트합니다. isAlways가 조건이 유효한지 결정할 수 없는 경우, 논리값 0(false)을 반환하고 기본적으로 경고를 발생시킵니다.

syms x
isAlways(2*x >= x)
Warning: Unable to prove 'x <= 2*x'.
ans =
  logical
   0

이 디폴트 동작을 변경하려면 Unknown을 사용하십시오. 예를 들어, Unknownfalse로 지정하면 조건의 유효성을 결정할 수 없는 경우 경고를 표시하지 않고 isAlways가 논리값 0(false)을 반환하도록 합니다.

isAlways(2*x >= x,'Unknown','false')
ans =
  logical
   0

false 대신 Unknownerror로 지정하여 오류를 반환하거나, true로 지정하여 논리값 1(true)을 반환하도록 할 수도 있습니다.

가정을 사용하여 조건을 테스트하기

x가 음수라는 가정하에서 다음 부등식을 검사합니다. isAlways가 방정식 또는 부등식을 테스트하는 경우 그 방정식 또는 부등식의 변수에 대한 가정을 고려합니다.

syms x
assume(x < 0)
isAlways(2*x < x)
ans =
  logical
   1

추후 계산을 위해 syms를 사용하여 x를 다시 만들어서 가정을 지웁니다.

syms x

입력 인수

모두 축소

검사할 조건으로, 기호 조건 또는 기호 조건으로 구성된 벡터, 행렬, 다차원 배열로 지정됩니다.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: isAlways(cond,'Unknown',true)는 지정된 조건을 결정할 수 없을 때 isAlways가 논리값 1(true)을 반환하도록 합니다.

결정 불가능한 조건에 대한 반환 값으로, 'Unknown'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

falseWithWarning(디폴트 값)결정 불가능한 입력값에 대해 논리값 0(false)과 조건을 증명할 수 없다는 경고를 반환합니다.
false결정 불가능한 입력값에 대해 논리값 0(false)을 반환합니다.
true결정 불가능한 입력값에 대해 논리값 1(true)을 반환합니다.
error결정 불가능한 입력값에 대해 오류를 반환합니다.
R2012a에 개발됨