Matlab ( 매트랩 ) fprintf 함수의 파일 저장 기법
프로그래밍 2010. 3. 3. 10:42 |펌 : http://blog.naver.com/horgan?Redirect=Log&logNo=40018931645
안녕하세요. 오늘은 fprintf 함수의 파일 저장 기법에 대해서 알아보도록 하
겠습니다. 간단한 예제를 통하여 각기 다른 방식으로 저장하였을 때 실제로
는 어떻게 저장되는지를 이해하는 것이 오늘 강의의 목표입니다.
fid=fopen('test.txt','w');
x=[1 2 3];
y=[4 5 6];
fprintf(fid,'%f %f\n',x,y);
fclose(fid);
그런데 여기서 우리가 한가지 주의해야 할 사실이 있습니다. 우리가 일반적
으로 저장하기 원하는 방식은 다음과 같은 구조일 것입니다.
그러나, 실제로는 우리가 원하던 포맷으로 저장이 안되게 됩니다. 왜 그런
지를 보도록 하겠습니다. 가장 일반적인 경우인 fprintf(fid,'%f %f\n',x,y); 코
드를 사용하였을 때를 도식화하여 보이도록 하겠습니다.
위의 그림에서 알 수 있듯이 fprintf 함수는 출력포맷을 데이타의 끝까지 반
복 적용하는 것을 알 수가 있습니다. 그런데, 결과는 우리가 원하던 형식이
아닙니다. 그렇다면 데이타를 전치행렬로 바꾸어서 결과를 보도록 하겠습
니다.
![](http://blogfiles13.naver.net/data11/2005/10/27/28/Snap3-horgan.jpg)
fprintf 함수의 출력포맷은 기본적으로 열부터 스캔하고 다음에 행을 스캔하
는 방식이기 때문에 처음 경우와 같은 결과를 얻게 됩니다. 다음 3번과 4번
경우도 기본적으로는 같은 방식이 적용되어 처음과 같은 결과를 얻게 됩니
다.
![](http://blogfiles8.naver.net/data11/2005/10/27/167/Snap4-horgan.jpg)
![](http://blogfiles16.naver.net/data11/2005/10/27/31/Snap5-horgan.jpg)
자, 그렇다면 다음과 같이 하면 어떤 결과를 얻게 될까요?
![](http://blogfiles5.naver.net/data11/2005/10/27/132/Snap6-horgan.jpg)
올커니, 우리가 원하던 결과를 얻었습니다. 마지막 경우를 살펴보겠습니다.
![](http://blogfiles11.naver.net/data11/2005/10/27/250/Snap7-horgan.jpg)
처음과 같은 결과를 얻게 되는 것을 알 수 있습니다. fprintf 함수의 출력포
맷 특성을 알았으므로 앞으로는 어떠한 식으로 데이타를 저장할지 감이 오
셨으리라 믿습니다. 그럼 여기서 이번 강의를 마치도록 하겠습니다.
'프로그래밍' 카테고리의 다른 글
MFC 클래스간 포인터 얻기 (0) | 2010.03.11 |
---|---|
Matlab 주요 기능 설명 (0) | 2010.03.03 |
android sdcard 퍼미션 설정 (1) | 2010.02.23 |
adt 0.9.5 (0) | 2010.02.23 |
우분투 설치 관련 (0) | 2010.02.22 |