MATLAB-데이터 출력
MATLAB에서 데이터 내보내기 (또는 출력)는 파일에 쓰는 것을 의미합니다. MATLAB을 사용하면 ASCII 파일을 읽는 다른 응용 프로그램에서 데이터를 사용할 수 있습니다. 이를 위해 MATLAB은 여러 데이터 내보내기 옵션을 제공합니다.
다음 유형의 파일을 만들 수 있습니다.
배열의 직사각형 구분 ASCII 데이터 파일.
키 입력 및 결과 텍스트 출력의 일기 (또는 로그) 파일.
fprintf와 같은 저수준 함수를 사용하는 특수 ASCII 파일.
특정 텍스트 파일 형식에 쓰는 C / C ++ 또는 Fortran 루틴에 액세스하기위한 MEX 파일.
이 외에도 데이터를 스프레드 시트로 내보낼 수도 있습니다.
구분 된 ASCII 데이터 파일로 숫자 배열을 내보내는 방법에는 두 가지가 있습니다.
사용 save 함수 및 지정 -ascii 한정자
사용 dlmwrite 함수
저장 기능을 사용하는 구문은 다음과 같습니다.
save my_data.out num_array -ascii
여기서 my_data.out 은 생성 된 구분 된 ASCII 데이터 파일이고 num_array 는 숫자 배열이며 −ascii 지정자입니다.
사용 구문 dlmwrite 함수는-
dlmwrite('my_data.out', num_array, 'dlm_char')
여기서 my_data.out 은 생성 된 구분 된 ASCII 데이터 파일이고, num_array 는 숫자 배열이며 dlm_char 는 구분 문자입니다.
예
다음 예제는 개념을 보여줍니다. 스크립트 파일을 만들고 다음 코드를 입력하십시오-
num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 0];
save array_data1.out num_array -ascii;
type array_data1.out
dlmwrite('array_data2.out', num_array, ' ');
type array_data2.out
파일을 실행하면 다음 결과가 표시됩니다.
1.0000000e+00 2.0000000e+00 3.0000000e+00 4.0000000e+00
4.0000000e+00 5.0000000e+00 6.0000000e+00 7.0000000e+00
7.0000000e+00 8.0000000e+00 9.0000000e+00 0.0000000e+00
1 2 3 4
4 5 6 7
7 8 9 0
save -ascii 명령과 dlmwrite 함수는 입력으로 셀형 배열에서 작동하지 않습니다. 셀형 배열의 내용에서 구분 된 ASCII 파일을 만들려면 다음을 수행 할 수 있습니다.
또는 다음을 사용하여 셀형 배열을 행렬로 변환합니다. cell2mat 함수
또는 저수준 파일 I / O 함수를 사용하여 셀형 배열을 내 보냅니다.
사용하는 경우 save 문자 배열을 ASCII 파일에 쓰는 함수는 문자에 해당하는 ASCII를 파일에 씁니다.
예를 들어 'hello'라는 단어를 파일에 씁니다.
h = 'hello';
save textdata.out h -ascii
type textdata.out
MATLAB은 위의 문을 실행하고 다음 결과를 표시합니다. 8 자리 ASCII 형식의 'hello'문자열의 문자입니다.
1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02
일기 파일에 쓰기
일기 파일은 MATLAB 세션의 활동 로그입니다. 다이어리 기능은 그래픽을 제외하고 디스크 파일에 세션의 정확한 사본을 생성합니다.
일기 기능을 켜려면 다음을 입력하십시오.
diary
선택적으로 로그 파일의 이름을 지정할 수 있습니다.
diary logdata.out
일기 기능을 끄려면-
diary off
텍스트 편집기에서 일기 파일을 열 수 있습니다.
저수준 I / O를 사용하여 데이터를 텍스트 데이터 파일로 내보내기
지금까지 숫자 형 배열을 내보냈습니다. 그러나 숫자와 문자 데이터의 조합, 직사각형이 아닌 출력 파일 또는 ASCII가 아닌 인코딩 체계가있는 파일을 포함하여 다른 텍스트 파일을 만들어야 할 수도 있습니다. 이러한 목적을 위해 MATLAB은 낮은 수준의fprintf 함수.
저수준 I / O 파일 활동에서와 같이 내보내기 전에 다음을 사용하여 파일을 열거 나 만들어야합니다. fopen함수를 사용하고 파일 식별자를 가져옵니다. 기본적으로 fopen은 읽기 전용 액세스를 위해 파일을 엽니 다. 쓰기 또는 추가 권한을 지정해야합니다 (예 : 'w'또는 'a').
파일을 처리 한 후 다음을 사용하여 닫아야합니다. fclose(fid) 함수.
다음 예제는 개념을 보여줍니다-
예
스크립트 파일을 만들고 그 안에 다음 코드를 입력하십시오-
% create a matrix y, with two rows
x = 0:10:100;
y = [x; log(x)];
% open a file for writing
fid = fopen('logtable.txt', 'w');
% Table Header
fprintf(fid, 'Log Function\n\n');
% print values in column order
% two values appear on each row of the file
fprintf(fid, '%f %f\n', y);
fclose(fid);
% display the file created
type logtable.txt
파일을 실행하면 다음 결과가 표시됩니다.
Log Function
0.000000 -Inf
10.000000 2.302585
20.000000 2.995732
30.000000 3.401197
40.000000 3.688879
50.000000 3.912023
60.000000 4.094345
70.000000 4.248495
80.000000 4.382027
90.000000 4.499810
100.000000 4.605170