개요
python에서 생성한 csv 파일을 읽어서 MATLAB으로 그래프를 그려야 함!
펭귄은 주로 python을 사용해서 시뮬레이션을 한다. 하지만 그래프는 MATLAB이 정말 잘 그려준다. python에도 matplotlib 라이브러리가 있지만, 개인적인 생각으로는 아직 MATLAB을 따라가려면 멀었다..!
Tip
MATLAB에서 CSV 파일을 읽으려면 readtable, readmatrix 또는 csvread 함수를 사용할 수 있다. 보통 readtable을 가장 많이 쓰는 것 같다. 다른 함수들은 숫자만 읽어지거나, 불편한 점이 많다. 펭귄은 보통 dataframe을 csv로 저장하고, matlab에서 읽기 때문에 csv를 읽을 때 readtable을 사용했다. readtable은 csv 데이터를 테이블 형식으로 읽어준다.
예제 데이터
펭귄이 사용한 예제 데이터는 위 사진과 같다. data.csv에 10개의 row(행)와 3개의 column(열)을 가진 데이터를 저장했다.
readtable 사용법
filename = 'data.csv'; % 파일 이름
dataTable = readtable(filename); % 테이블 형식으로 읽기
% 데이터 확인
disp('CSV 데이터:');
disp(dataTable);
% 헤더가 없을 때는, 아래 옵션을 추가해주면 된다
% dataTable = readtable('data.csv', 'ReadVariableNames', false); % 헤더 없이 읽기
readtable 함수에 파일 경로만 넣어주면, 알아서 읽어준다. 컬럼도 잘 인식해 줘서 좋다.
CSV 파일 데이터 접근 및 처리
특정 열 또는 행 접근
열과 행은 기본 MATLAB 문법을 사용해서 접근할 수 있다.
% 특정 열 데이터 접근
columnData = dataTable.ColumnName;
disp('특정 열 데이터:');
disp(columnData);
% 특정 행 접근
rowData = dataTable(1, :);
disp('특정 행 데이터:');
disp(columnData);
데이터 필터링
데이터 접근시, 원하는 조건을 줘서 데이터를 필터링할 수 있다.
% 특정 조건 (예: ColumnName 값이 10보다 큰 행 선택)
filteredData = dataTable(dataTable.ColumnName > 5, :);
disp('조건을 만족하는 데이터:');
disp(filteredData);
% 문자열 조건 (예: 'Category' 열에 'A' 포함된 행 선택)
filteredData = dataTable(strcmp(dataTable.Category, 'A'), :);
disp('조건을 만족하는 데이터:');
disp(filteredData);
readmatrix 사용법
readmatrix를 사용하면, 숫자만 읽을 수 있다. column(열)도 인식 못하고, category형 변수는 모두 NaN으로 인식됐다.
filename = 'data.csv'; % 파일 이름
dataMatrix = readmatrix(filename); % 테이블 형식으로 읽기
% 데이터 확인
disp('CSV 데이터:');
disp(dataMatrix);
'컴퓨터 > tip' 카테고리의 다른 글
[Mac] ssh에서 X11 forwarding을 통해 GUI 사용하기 (XQuartz) (0) | 2025.02.01 |
---|---|
[draw.io] 다이어그램에 수식(AsciiMath, LaTeX) 넣는 방법 (0) | 2025.02.01 |
[draw.io] 다양한 다이어그램을 그릴 수 있는 웹 사이트 (flowchart, ERD, UML) (0) | 2025.01.30 |
[LaTeX] 그래프 2개를 같은 Figure 속에 배치하기 (subcaption) (0) | 2025.01.30 |