MATLAB에서 텍스트 파일 전처리하여 그래프 그리기
MATLAB은 데이터 분석 및 시각화에 강력한 도구입니다. 특히 텍스트 파일에서 데이터를 읽어와 그래프를 그리는 과정은 많은 초보자에게 중요한 학습 내용입니다. 본 글에서는 MATLAB에서 텍스트 파일의 데이터를 전처리하여 그래프를 그리는 방법에 대해 알아보겠습니다.
1. 텍스트 파일의 이해
텍스트 파일은 데이터를 저장하는 간단한 형식입니다. 일반적으로 CSV(Comma Separated Values) 형식이나 TSV(Tab Separated Values) 형식이 많이 사용됩니다. 파일 내용을 이해하는 것은 후속 단계에서 중요한 부분입니다.
1.1. 텍스트 파일의 구조
텍스트 파일은 다음과 같은 구조를 가질 수 있습니다:
- 첫 번째 줄: 변수명 또는 헤더
- 이후의 줄: 각 데이터 포인트
예를 들어, 다음과 같은 CSV 파일이 있다고 가정해 봅시다:
시간,온도,습도
1,22,60
2,23,62
3,21,59
2. MATLAB에서 텍스트 파일 불러오기
MATLAB에서는 다양한 방법으로 텍스트 파일을 불러올 수 있습니다. 가장 많이 사용되는 함수는 readtable와 csvread입니다.
2.1. readtable 함수 사용하기
readtable 함수는 테이블 형식으로 데이터를 불러오는 함수로, 파일의 첫 번째 줄을 변수명으로 인식합니다. 다음과 같은 방법으로 사용할 수 있습니다:
data = readtable('파일경로.csv');
이 함수는 데이터를 테이블 형식으로 읽어오며, 이를 통해 각 열에 쉽게 접근할 수 있습니다.
2.2. csvread 사용하기
csvread 함수는 CSV 파일에서 데이터를 읽어오는 더 간단한 방법입니다. 그러나 이 함수는 변수명을 자동으로 인식하지 않으므로, 첫 번째 줄을 포함하지 않고 읽어올 필요가 있습니다.
data = csvread('파일경로.csv', 1, 0);
여기서 두 번째 인자는 읽기 시작할 행 번호, 세 번째 인자는 읽기 시작할 열 번호를 지정합니다.
3. 데이터 전처리
데이터를 불러온 후에는 전처리 과정을 통해 데이터를 정리하고 변환해야 합니다. 이 과정은 데이터 분석의 기본이 됩니다.
3.1. 결측값 처리
결측값은 분석을 방해할 수 있으므로 적절한 방법으로 처리해야 합니다. MATLAB에서는 rmmissing 함수를 사용하여 결측값을 제거할 수 있습니다.
cleanedData = rmmissing(data);
3.2. 데이터 변환
필요에 따라 데이터를 변환할 수도 있습니다. 예를 들어, 온도를 섭씨에서 화씨로 변환할 수 있습니다:
cleanedData.온도 = cleanedData.온도 * 9/5 + 32;
4. 데이터 시각화
전처리된 데이터를 바탕으로 그래프를 그리는 것은 MATLAB의 강력한 기능 중 하나입니다. MATLAB은 다양한 그래프 유형을 지원합니다.
4.1. 선 그래프 그리기
단순한 선 그래프를 그리려면 plot 함수를 사용합니다. 예를 들어, 시간에 따른 온도 변화를 선 그래프로 표현할 수 있습니다:
plot(cleanedData.시간, cleanedData.온도);
xlabel('시간');
ylabel('온도 (화씨)');
title('시간에 따른 온도 변화');
4.2. 산점도 그리기
산점도는 두 변수 간의 관계를 시각적으로 표현할 수 있습니다. scatter 함수를 사용하여 온도와 습도의 관계를 나타낼 수 있습니다:
scatter(cleanedData.온도, cleanedData.습도);
xlabel('온도 (화씨)');
ylabel('습도');
title('온도와 습도의 관계');
5. MATLAB 그래프 개선하기
단순한 그래프에서 더 많은 정보를 제공할 수 있도록 개선할 수 있습니다. MATLAB은 그래프의 외양을 변경하는 다양한 옵션을 제공합니다.
5.1. 그래프 스타일 변경하기
그래프의 스타일, 색상, 마커를 변경하여 가독성을 높일 수 있습니다. 예를 들어:
plot(cleanedData.시간, cleanedData.온도, 'r--o', 'LineWidth', 1.5, 'MarkerSize', 6);
위 코드는 빨간색 대시 선과 원형 마커를 사용하여 그래프를 그립니다.
5.2. 레전드 추가하기
그래프에 레전드를 추가하여 의미를 명확히 할 수 있습니다:
legend('온도 변화');
5.3. 그리드 추가하기
그리드를 추가함으로써 데이터 포인트를 쉽게 파악할 수 있습니다:
grid on;
6. 코드 예제
아래는 전체 코드를 통합한 예제입니다:
% 데이터 불러오기
data = readtable('파일경로.csv');
% 결측값 제거
cleanedData = rmmissing(data);
% 온도 변환
cleanedData.온도 = cleanedData.온도 * 9/5 + 32;
% 선 그래프 그리기
figure;
plot(cleanedData.시간, cleanedData.온도, 'r--o', 'LineWidth', 1.5, 'MarkerSize', 6);
xlabel('시간');
ylabel('온도 (화씨)');
title('시간에 따른 온도 변화');
grid on;
legend('온도 변화');
7. 결론
MATLAB에서 텍스트 파일을 전처리하여 그래프를 그리는 과정은 데이터 분석의 기초를 다지는 데 중요한 작업입니다. 본 글에서는 텍스트 파일 불러오기, 데이터 전처리 및 시각화 과정을 단계별로 설명하였습니다. 이 방법들을 통해 여러분의 데이터 분석 능력을 한층 강화할 수 있길 바랍니다.
추가적으로 다양한 그래프와 데이터 분석 방법을 익히면 보다 심화된 데이터 분석 작업을 수행할 수 있습니다. 앞으로의 데이터 분석 여정에 많은 성공이 있기를 바랍니다.





