처리하고자하는 큰 .mat 파일이 있지만 단일로드에 적합하지 않은 큰 .mat 파일이 있습니다. 나는 부품으로로드 할 때마다 중요한 매개 변수에 액세스 할 때마다 생각했습니다. 그래서 실질적으로 두 가지 질문이 있습니다 :내 컴퓨터의 메모리가 너무 큰 .mat 파일의 일부를로드하는 방법은 무엇입니까?
- 어떻게 매트 파일의 변수 이름을로드하지 않고 액세스 할 수 있습니까?
- 어떻게 작업 영역에 하나만로드 할 수 있습니까?
고마워요!
처리하고자하는 큰 .mat 파일이 있지만 단일로드에 적합하지 않은 큰 .mat 파일이 있습니다. 나는 부품으로로드 할 때마다 중요한 매개 변수에 액세스 할 때마다 생각했습니다. 그래서 실질적으로 두 가지 질문이 있습니다 :내 컴퓨터의 메모리가 너무 큰 .mat 파일의 일부를로드하는 방법은 무엇입니까?
고마워요!
사용 변수의 목록을 볼 수 있습니다 :
load('name.mat', vars(1).name)
뿐만 아니라로드 :
vars = whos('-file','name.mat');
을하고 당신이 원하는 변수를로드는,에 의해, 목록의 첫 번째를 말한다 @natan에서 제안한 .mat 파일의 개별 변수를 사용하는 경우 최신 버전의 MATLAB에서는 matfile
객체를 사용하여 개별 변수의 일부만로드 할 수 있습니다.
myFile = matfile('path\to\the\mat\file');
loadedData = myfile.myVarName(100:200, 500:600);
을 당신은 파일 myFile
에서 변수 myVarName
의 일부만에로드합니다 :
그래서 예를 들어, 당신은 말할 수있다.
편집 :.
당신은 당신이 비트를로드하기 전에 파일에 포함 된 변수의 이름과 크기를 결정할 수 있도록 matfile
객체가, 방법을 size
, who
및 whos
을 가지고
저는이 사실을 알지 못했습니다. 정말 잘 알고 있습니다. –
'matfile '은 부분 적재를 위해 MAT- 파일 v7.3 (HDF5 기반) 만 지원하며, 그렇지 않으면 전체 변수를 적재하는 것으로 돌아갑니다. – Amro
+1 잘 알고 있습니다 ... – bla