본문 바로가기
프로그래밍/Matlab

넘파이 데이터를 매트랩에서 시각화하기

by 깊은대학 2024. 4. 7.

파이썬에서 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)

 

 

 

 

댓글