40.matlab에서 txt 파일 저장하는 방법(fopen, fprintf)
먼저 fopen 이라는 함수에 대해 이해해봅시다.
우리가 기존에
open.txt 라는 파일이 저장되어 있다고 해봅시다.
파일의 내용은
1 2 3 4 5
가 들어있다고 해볼게요.
fopen 함수는 파일을 불러와서 파일에 ID를 할당해주는 함수입니다.
아이디가 할당되면 fscanf 를 이용해서 파일 안에 있는 내용을 볼 수도 있고
fprinf를 이용해서 파일 안의 내용을 수정할 수도 있습니다.
fopen 함수는 우리가 파일에 접근할 수 있도록 파일과 다른 함수를 연결해주는 ID를 할당해 주는 함수라고 이해하시면 됩니다.
open.txt에 fopen 함수를 적용해보겠습니다.
>> fopen('open.txt')
ans =
5
이렇게 5라는 ID가 할당되었습니다.
fopen함수의 디폴트는
fopen('open.txt', 'r') 입니다. 여기서 'r'은 단순히 읽기만 하겠다는 뜻입니다. 'w'나 'a' 로 바꿔주면 쓰기 즉 수정이 가능해집니다.
'w'와 'a'의 차이는 아래와 같습니다.
'w' 기존 내용에 덮어쓰기
'a' 기존 내용 뒤에 이어쓰기
'w'를 이용해서 open.txt의 내용을 수정해봅시다. 이때 fprinf 함수가 사용됩니다. 사용법을 잘 보세요.
>> ID = fopen('open.txt','w');
fprintf(ID,'%f',[3 3 3]);
>> ID = fopen('open.txt','w');
fprintf(ID,'%f ',[3 3 3]);
>> load('open.txt')
>> open
open =
3 3 3
내용이 [3 3 3] 으로 수정된 것을 볼 수 있습니다. %f 는 float(실수)형으로 저장하겠다는 뜻입니다.
character도 저장이 가능합니다.
아래와 같이 하시면 됩니다.
>> ID = fopen('open.txt','w');
fprintf(ID,'%c','hello');
ID2 = fopen('open.txt');
fscanf(ID2,'%c',inf)
ans =
hello
'MATLAB 코딩 > 기초' 카테고리의 다른 글
[matlab 공부하자] 42.파일 너무 많이 열려있다고 에러났을 때 해결방법 (0) | 2019.07.04 |
---|---|
[matlab 공부하자] 41.for 문의 i를 문자로 이용하는 방법 (0) | 2019.07.04 |
[matlab 공부하자] 39.특이값 분해(singular value decomposition), svd함수 (0) | 2019.07.03 |
[matlab 공부하자] 38.행렬, 문자열을 원소로 갖는 cell 함수를 사용해보자. (0) | 2019.07.03 |
[matlab 공부하자] 37.영어 문장을 전부 소문자로 만드는 함수와 대문자로 만드는 함수 (lower,upper) (0) | 2019.07.03 |
댓글