
나는 pgfplots
그림을 만드는 데 을 사용하고 있으며 에서 생성된 (대규모) 시뮬레이션 데이터 세트를 가지고 있습니다 Matlab
. 형식 으로 되어 있습니다 .mat
. 데이터 형식은 다음과 같습니다(2열).
(1,0.2)
(1,0.3)
...
(1,0.2)
...
(2,0.4)
(2,0.1)
...
산점도가 pgfplots
적절할 것입니다. 를 사용하여 이 파일을 직접 가져오고 싶습니다 pgfplots
. 불행하게도 다음 코드는 작동하지 않는 것 같습니다.
\documentclass{article}
\usepackage{pgfplots}
\usepackage{xcolor}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}
\addplot+[scatter]
table{test.mat};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
이 데이터를 가져오는 방법을 아는 사람이 있나요? 크기가 조금 크기 때문에 모든 샘플을 코드에 복사하는 것은 불가능합니다.
답변1
.mat
이는 파일이 바이너리 형식이고 TeX이 바이너리를 읽을 수 없기 때문입니다 . 파일에서 이진 형식을 읽는 것이 어떻게 가능한지 모르겠지만 더 편리한 방법은 배열을 긴 행렬의 열로 저장하는 것입니다.
길이가 같은 데이터 열 a,b,c가 있다고 가정합니다(그렇지 않으면 pgfplots가 이를 삭제할 수 있도록 누락된 항목을 NaN 또는 Inf로 채웁니다). 이는 MATLAB에서 다음을 통해 수행할 수 있습니다.
Mymatrix = [a b c];
save('myfile.txt', 'Mymatrix', '-ascii','-double');
이렇게 하면 헤더가 없는 일반 텍스트 형식으로 배열이 저장됩니다. 파일 이름 필드에서 전체 경로가 지원되는지 확인하지 않았지만 가능할 것입니다.
일반적으로 Mymatrix
. MATLAB은 훌륭한 소프트웨어이기 때문입니다.
답변2
최신 Matlab 버전에서는 배열에서 테이블을 생성하고 테이블을 CSV 파일에 쓰는 것이 권장됩니다. 테이블에는 열 이름을 포함하고 CSV에도 기록되는 헤더 행이 있습니다. 보다MATLAB 답변