Loading
2014. 8. 5. 12:19 - 성돌

[Mathematica] 다른 Mathematica파일을 불러들여 실행시키기-




지금 작업하는 파일이 아닌, 즉 다른 Mathematica 파일을 실행시키고, 

거기서 얻은 정보를 기억하여 그 다음에 원하는 작업을 이어서 하는 방법에 대해서 알아보도록 하자.


말이 좀 복잡한데, 쉽게 말해 

A라는 파일을 실행시키고, 연이어 B라는 파일을 실행시키는 방법이다.

물론, A를 실행시킨 후 얻은 결과값은 저장되어 B를 실행시킬 때 사용된다.


사용하게 될 명령어는 NotebookOpenSelectionMoveSelectionEvaluateNotebookClose이다.


아래의 코드를 보면서 이야기하자.



위에서 파일 경로를 설정하는 것을 폴더와 파일명을 각각 입력한 후 <>으로 합쳐주었다.

(<>에 대해서는 다른 포스팅 참고)


순서대로 보면, 


(1) 

NotebookOpen로 원하는 파일을 열고 (파일명1)


(2) 

SelectionMove로 그 파일에 있는 전체셀을 선택한 뒤,


(3) 

SelectionEvaluate으로 선택된 전체셀을 실행시키고,


(4) 

그 다음, NotebookOpen으로 다음으로 원하는 파일을 열고 (파일명2)


(5)

SelectionMove로 이번에는 그 파일에 있는 두번째 셀을 Next와 1의 조합으로 선택해보자.


이란 것은 Mathematica오른쪽에 보면 아래와 같이 파란색 "]"표시로 영역을 구분해놓았는데,

한 "]"당 하나의 셀이다.



(6)

마지막으로 6에서 선택된 셀을 SelectionEvaluate으로 실행시킨다.


그리고 거추장스럽게 열린 nb1을 다시 닫아주려면 nb2파일에서
맨 밑에 아래와 같이 
NotebookClose으로 닫아주면 된다.


코드를 사용할 땐, 파일명과 cell의 위치만 바꿔가면서 사용하면 될 것이다. 


나는 주로 실험데이터를 A라는 note파일에 저장해두고, 

B라는 note파일에서 A의 데이터를 불러와서 B에서 연산할 때 이 코드를 주로 사용한다.