본문 바로가기
컴퓨터 언어/Matlab

MATLAB 기초 4. 입출력 ( disp( ), fprintf( ), fscanf( ) )

by SuperMemi 2021. 3. 8.
반응형

2021/03/08 - [Computer Language/Matlab] - MATLAB 기초 3. 벡터 및 행렬 연산 ( \ , / , .*, .^ , size(), reshape(), length() )

 

MATLAB 기초 3. 벡터 및 행렬 연산 ( \ , / , .*, .^ , size(), reshape(), length() )

↓2021/03/05 - [Computer Language/Matlab] - MATLAB 기초 2. 벡터와 행렬 생성과 슬라이싱 MATLAB 기초 2. 벡터와 행렬 생성과 슬라이싱 앞선글에서는 MATLAB의 기초적인 변수와 내장함수에 대해서 다루었다. 20..

supermemi.tistory.com


4. 입출력 형식

 

MATLAB 은 표준 입출력과 파일 입출력에 관한 내장 함수를 제공한다.

 

표준 입출력 : 키보드를 통해 입력받고 모니터를 통해 결과를 출력

파일 입출력 : 저장된 데이터를 읽거나 파일에 연산 결과를 출력하는 것이다.

 


4-1 disp( )

 

간단한 메시지 또는 변수의 값을 명령창에 출력할 때 사용한다.

 

 


4-2 fprintf( )

 

파일에 데이터를 입력하고 편집하기 위해 사용된다.

 

먼저, fopen( )을 통해 파일을 열고 fprintf( )를 통해 원하는 내용을 편집한 후, fclose( )를 사용하여 파일을 닫아준다.

 

아래 예시를 통해 알아보자.

 

fopen( )을 통해 trial.dat 파일을 쓰기('w') 위해 만들면 왼쪽 현재 폴더에 trial.dat이 만들어 진 것을 확인 할 수 있다.

 

이후, fprintf( )를 통해 trial.dat에 a 벡터를 정수형태로 쓰고 fclose( )로 닫으면 다음과 같은 파일을 얻을 수 있다.

 

 

이런 식으로 다양한 파일 편집이 가능한데 아래에는 구체적인 옵션들을 설명해뒀다.

 

fopen 모드 설명
r 읽기를 목적으로 파일 open
r+ 읽기 쓰기를 목적으로 파일 open
w 기존 내용이 있다면 지우고, 새로운 파일을 만들어 파일 open
w+ 기존 내용을 지우고 새로운 파일을 만들어 읽기 쓰기 위해 파일 open
a 새로운 파일을 만들고 열거나, 쓰기 위해 기존의 파일을 open하고 파일 끝에 추가시킴
a+ 새로운 파일을 만들고 개방하거나 읽기 및 쓰기를 위해 기존의 파일을 open하고 파일 끝에 추가시킴

 

fprintf 형식 문자 설명
%d 부호 있는 10진수 출력
%u 부호 없는 10진수 출력
%o 8진수 출력
%x 16진수 출력
%f 부동 소수점 출력
%e 소문자 e를 사용한 지수 형태 출력
%c 단일 문자 출력
%s 문자열 출력

 


4-3 fscanf( )

 

fopen을 통하여 파일을 열고, 파일속에 있는 내용을 변수에 입력시키기 위해서 사용한다.

 

file = fopen('file_name','mode');
A = fscanf(file, 'format', size);
fclose(file)

 

예제를 통해 알아보자.

 

 

fscanf 에서 읽어올 데이터 크기를 지정할 수 있는데,

예시 처럼 inf 라고 입력하면 모든 데이터를 가져오는 것을 말한다.

 

만약 저 자리에 실수를 집어넣으면, 열 벡터에서 n개의 데이터를 읽는다.

만약 저 자리에 [m,n] 을 넣는다면, m x n 행렬을 만들 수 있는 데이터를 읽는다.

 


2021/03/08 - [Computer Language/Matlab] - MATLAB 기초 5. 기본 프로그래밍 (if, for, while)

 

MATLAB 기초 5. 기본 프로그래밍 (if, for, while)

021/03/08 - [Computer Language/Matlab] - MATLAB 기초 4. 입출력 ( disp( ), fprintf( ), fscanf( ) ) MATLAB 기초 4. 입출력 ( disp( ), fprintf( ), fscanf( ) ) 2021/03/08 - [Computer Language/Matlab] - M..

supermemi.tistory.com

 


참고도서

 

MATLAB을 이용한 알기 쉬운 수치해석. 박태희 지음. 생능출판


 

반응형