Mathematica에 명령어를 사용하는 방법 중 뒤에서 명령어를 내리는 독특한 방법에 대해서 알아보자.
이는 내가 매우 좋아하는 방식이다.
뒤에서 명령어를 사용할 때, //방식으로 명령어를 사용하게 된다.
(이를 Postfix라고 한다...)
먼저 상당히 일반적인 것부터 소개를 하자..
대부분의 코딩 프로그램이 이러한 형태를 가지고 있는데...
아래와 같은 형태로 명령을 하는 것이다.명령어[...]
사실 이렇게 적어놔서 더 뭔 말인지 모를 수도 있겠는데...
예를 들면 쉽다.
우리가 x라는 변수를 없애고자 하면,Clear
[x]
라고 하면 된다.
여기서 Clear가 명령어에 해당하고, x는 명령을 당하는 대상일 것이다.
대부분 다 이렇게 하고, 이게 당연한데...
Mathematica는 한 가지 더 매우 편리한 옵션을 제공한다.
바로... //방식으로 뒤에서 명령을 입력하는 것이다.
예를 들어, 위의 Clear라는 명령을 아래와 같이 //뒤에 Clear를 적음으로 수행할 수도 있다.x//
Clear
이건 사실 굉장히 편리하다.
이게 왜 편리하냐면...
여러가지 기능을 동시에 수행한다고 해보자.
예를 들어,
어떤 식에 Refine이라는 명령과 Simplify라는 명령과 Expand라는 명령을 순서대로 수행한다고 해보자.
기존 방식으로는 아래와 같이 해야한다.Expand
[
Simplify
[
Refine
[수식]]]
그런데....이런 것들이 괄호를 사용하게 됨으로 복잡하게 보이고...
코딩이 복잡해질 수록... 앞뒤를 왔다갔다해야되서...
상당히 귀찮아지게 될 수 있다.
하지만 Mathematica안에서는 훨씬 간단하고 단순하게
괄호를 사용하지 않고 명령을 내릴 수 있는 것이다.수식//
Refine
//
Simplify
//
Expand
명령어의 구조가 훨씬 눈에 잘 보이지 않는가?
우선 괄호를 사용하지 않게 되기에... 상당히 편리할 때가 많다.
지금까지 경우는 아무 옵션없이 명령어만 사용한 것이지만
Mathematica에서 사용하는 모든 명령어는 옵션과 함께 //형태의 명령어를 사용할 수 있다.
이는 #와 &를 함께 사용해 줌으로 가능하다.
예를 들어, 선형회귀를 하는 함수인 LinearModelFit은
아래와 같은 명령어 구조를 가진다.LinearModelFit[데이터, x, x]
그걸 #와 &를 이용해서 아래와 같이 //방식으로 명령어를 내릴 수 있다.데이터//LinearModelFit[#, x, x]&
즉, 원래 '데이터'가 있던 위치에 #를 두고 맨 뒤에 &를 사용함으로 닫아주는 것이다.
Mathematica에서는 #와 &가 항상 쌍으로 등장한다는 것을 더불어
기억해두면 좋을 것이다.
'Software > Mathematica' 카테고리의 다른 글
Mathematica에서 반올림하여 특정 유효숫자까지 결과값을 표시하는 법 (0) | 2015.11.21 |
---|---|
Mathematica에서 2, 3차원의 영역 (region) 정의하는 법 (2) | 2015.11.12 |
[Mathematica] 데이터에서 숫자가 아닌 데이터 걸러내기! (0) | 2015.07.25 |
Mathematica에서 if논리구문과 조건문 사용하는 법 (And, Or등과 함께) (0) | 2015.07.24 |
[Mathematica] x와 y의 데이터를 합쳐 xy행렬 만들기 (0) | 2015.07.05 |