레이블이 표현식나열인 게시물을 표시합니다. 모든 게시물 표시
레이블이 표현식나열인 게시물을 표시합니다. 모든 게시물 표시

2015년 7월 28일 화요일

맥시마(maxima)의 괄호를 이용한 표현식 나열

 이전 포스트들에서 설명한 계산식, 변수 대입, 수식 등등이 모두 Maxima의 표현식(expression)이다. 표현식은 그 자체로서 객체를 이루며 또는 정해진 동작을 수행하여 결과 값을 반환해 주기도 한다.
위의 두 예는 동일한 동작을 수행한다. 먼저 x에 2+i 라는 복소수를 대입한 후 그 값을 다시 a변수에 저장한다. 맥시마에서는 표현식을 괄호 ( )로 묶을 수 있으며 단일 표현식에서는 보통 괄호를 생략한다. 따라서 (x:2+%i)는 하나의 표현식이며 그 값은 2+i 라는 값을 가진다. 표현식이 값을 가지는 것이다. 따라서 a변수에 (x:2+%i)의 값인 2+i 가 대입되게 되는 것이다.
표현식이 하나라면 보통 괄호를 생략하지만 여러 개의 표현식을 묶을 때는 괄호를 사용하고 각각의 표현식은 콤마(,)로 구분한다.
위의 예를 보면 첫 번째 줄에서 네 개의 표현식이 괄호로 묶여있다. 이 명령을 내리면 각각의 표현식이 하나씩 실행이 된다. 즉 a변수에 cos2(x)+sin(x)수식이 입력되고 b변수에는 3/sqrt(2)값이, 변수 c에는 3값이 저장된다. 그런데 결과를 보면 (%o1) 3이 나온다. 즉 (...) 안의 표현식은 몇 개가 되었든지 하나의 값을 가지는데 제일 마지막 표현식의 값을 가지며 그 결과가 찍혔다는 것을 알 수 있다. 따라서 다음과 같은 대입이 가능하다.
위의 예를 보면 x:( ... ) 명령어에서 ( ) 안에 두개의 표현식이 있다. 각각은 실행되며 전체 표현식의 값은 마지막 표현식의 값이 되므로 그 값이 변수 x에 저장된다. 따라서 이 예제를 실행시키면 변수 a, b, x 세 개에 각각 값이 저장된다.
 이제 아래 예들의 동작을 구분해 보자.


첫 번째 예는 세 개의 표현식 각각을 독립적으로 실행시킨 것이다. 따라서 그 결과 값도 각각 독립적으로 저장된다. (%o1, %o2, %o3) 두 번째 예는 첫 번째 것과 동작은 똑같지만 결과값은 하나만 생성된다.(%o4) 괄호로 묶여서 전체가 하나의 표현식이고 그 값은 마지막 표현식의 그것이기 때문이다.