Loading
2015. 7. 24. 23:56 - 성돌

Mathematica에서 if논리구문과 조건문 사용하는 법 (And, Or등과 함께)




Mathematica에서 If구문을 사용하는 법을 알아보자.


Mathematica에서 If는 위와 같이 참과 거짓일 때 실행하는 명령어가
쉼표인 ,에 의해서 구분되어 있다.

물론 위처럼 띄워쓸 필요는 없다.
위는 내가 보기 편하게 띄워쓴 것 뿐이다.
즉, 아래와 같이 쓸 수 있다.




이제 조건문을 쓰는 방법을 알아보자.

조건문을 쓸 때 기본적으로 사용되는 논리로 아래의 5가지가 있다.

물론 이것 외에도,
DirectoryQStringQ와 같이
Mathematica가
True와 False로 응답하는 모든 기능이 
조건문으로 사용될 수 있다.

 서로 같음

==

 서로 같지 않음

 !=

 왼쪽이 큼

>

 오른쪽이 큼

<

 왼쪽이 오른쪽보다 크거나 같음

>=

 오른쪽이 왼쪽보다 크거나 같음

<=


==, !=, >=, <=와 같은 기호들은 Mathematica에서 적은 후
다음 코드를 적던가 스페이스 바를 누르면 아래와 같이 보기 좋게 변환된다.


각각의 예에 대해서 Mathematica가 True나 False라고 답한 것을 볼 수 있다.



그런데 위와 같은 조건문은 하나의 조건문만 사용되지 않을 때가 있으며,
여러가지 조건을 동시에 물어볼 필요가 가끔 생긴다.

And나 Or처럼 말이다.

Mathamatica에서 And나 Or는 다음과 같이 적을 수 있다.

 \[And]

 \[Or]


이 역시 Mathematica안에서는 자동으로 아래와 같이 보기 좋게 변환이 된다.


각각의 조건문에 대해 Mathematica가 False와 True로 응답한 것을 볼 수 있다.



마지막으로 예를 들어보자.

A라는 숫자가 0보다 크고(And) B가 문자열(String)일 때,
"참"이라는 문자열을 보여주면서, A와 B를 출력하도록 하자.

반대로, 그렇지 않을 때는 "거짓"이라는 문자열을 보여주도록 할 것이다.

아래와 같은 코드로 구현할 수 있다.


위 코드에서 A는 3이고 B는 "스트링입니다"라는 문자열이다.

문자열인지 확인하기 위해 StringQ라는 기능이 사용되었고,
\[And]가 사용되었다.

둘 다 조건을 만족하기에
"참"이라는 문자열과 A와 B가 Print명령어에 의해 출력된 것을 볼 수 있다.