파이썬에서 matplotlib 라이브러리를 사용하면 데이터를 다양하게 시각화 할 수 있지만, 오랜 세월 매트랩(Matlab)을 사용하다 보니 익숙치가 않다. 그래서 편한 길을 쫓아 파이썬 프로그래밍으로 만든 결과 데이터를 매트랩으로 옮겨서 그래프로 그리곤 한다. 간단한 예제를 통해서 이 과정을 설명하겠다.
먼저 파이썬에서 넘파이 데이터를 생성하고 이를 딕셔너리로 변환한다. 그리고 scipy.io의 savemat을 이용하여 이 값을 매트랩의 mat 파일로 저장한다.
다음은 \(t \in [0, 10]\) 구간에서 \(y=\sin(2\pi t)\) 를 계산하여 result.mat 파일로 저장하는 코드다. 시간은 t 로, 결과는 y 로 key를 설정했다.
# savemat
# coded by st.watermelon
import numpy as np
import scipy.io
dt = 0.01
T = np.arange(0, 10.01, dt) # 0부터 10까지 dt 간격으로 배열 생성
Y = np.sin(2 * np.pi * T) # T를 이용해 Y 계산
# create a dictionary with each variable
data_to_save = {
't': T,
'y': Y
}
# save the dictionary to a .mat file
scipy.io.savemat('result.mat', data_to_save)
다음으로 파이썬에서 저장한 result.mat 파일을 매트랩으로 불러온다. result.mat을 열어보면 key 로 설정했던 t와 y가 있는 것을 알 수 있다. 이제 이를 바탕으로 매트랩 명령을 사용하여 그래프로 그리면 된다.
>> load result.mat
>> who
사용자의 변수:
t y
>> plot(t,y)
'프로그래밍 > Matlab' 카테고리의 다른 글
Matlab ODE에 추가 파라미터 전달 및 이벤트 설정하기 (0) | 2023.07.09 |
---|---|
Simulink Constant 블록에서 Matlab 구조체를 사용하는 방법 (0) | 2023.04.29 |
댓글