SW 설계/Matlab

Matlab: Write a matrix to a file

yztech 2023. 4. 8. 01:33
반응형

Matlab에서 행렬을 텍스트 파일로 저장하는 방법은 여러가지가 있다.

Matlab 2019 부터는 writematrix라는 함수도 제공하고 있지만, 그 이전 버전에서는 dlmwrite를 사용하는 것이 편리하다.

dlmwrite는 ASCII 형식의 구분 기호 분리된 (dilimited) 파일을 저장한다.

(2) dlmwrite(’A.txt’,A)는 행렬 A 를 ‘A.txt’ 파일에 저장하고, 이때 matrix elements들을 구분하기 위해 기본 구분 기호 (delimiter) 인 쉽표 (‘,’)를 사용한다. 데이터는 대상 파일인 파일 이름의 첫 번째 행 첫 번째 열에서 시작하여 기록됩니다.

(3) dlmwrite('A1.txt',A,'delimiter','\t') 는 ‘delimeter’로 지정한 구분 기호로서 탭 (‘\t’)을 사용하여 행렬 요소를 구분하여 행렬 M을 ASCII 형식 파일에 쓴다.

(4) dlmwrite('A2.txt',A,'delimiter','\t','precision','%.3f') 에서 precision은 파일에 데이터를 쓸 때 사용할 숫자 정밀도를 ‘%.3f’로 지정하여 소수점 아래 자리수를 3자리로 제한한다. 유효 자릿수를 지정하거나 %로 시작하는 C 스타일 형식 문자열(예: '%10.5f')을 사용할 수 있다.

A = randn(2,3);
dlmwrite('A.txt',A);
dlmwrite('A1.txt',A,'delimiter','\t');
dlmwrite('A2.txt',A,'delimiter','\t','precision','%.3f');

아래는 위 순서대로 출력된 파일 내용들을 보여준다.

첫번째 파일은 ‘,’으로 구분되고,

두번째 파일은 ‘\t’로 구분되며,

세번째 파일은 ‘\t’로 구분하고, 소수점 아래 자리수를 3자리로 제한한다.

0.8884,-1.0689,-2.9443
-1.1471,-0.8095,1.4384

0.8884    -1.0689    -2.9443
-1.1471    -0.8095    1.4384

0.888     -1.069     -2.944
 -1.147     -0.809      1.438
반응형

'SW 설계 > Matlab' 카테고리의 다른 글

Matlab 포맷 변경  (0) 2024.04.17