2014-10-18 1 views
4

나는 800x6 셀 배열 vol을 가지고 있는데, 1 ~ 5 번째 열이 double이고 6 번째 열이 200x200x200 3D double matrix입니다. 변수, .mat 파일을 더 구체적으로 저장하려고합니다.MATLAB - 경고 : 변수 'vol'를 7.3보다 오래된 버전의 MAT 파일에 저장할 수 없습니까?

>> save('./vol.mat', 'vol'); 
Warning: Variable 'vol' cannot be saved to a MAT-file whose version is older than 7.3. 
To save this variable, use the -v7.3 switch. 
Skipping... 

왜 그렇습니까? 어떻게 수정해야합니까?

추신 :이 셀 배열을 텍스트 파일로 저장하는 것을 꺼려합니다. 이렇게하면 구조가 "파괴"됩니다.

+1

[여기] (http://www.mathworks.com/matlabcentral/answers/15521-matlab-function-save-and-v7-3)과 관련된 몇 가지 재미있는 것을 발견했습니다. Apparantly, 그것은 셀 어레이 (> 2GB)의 크기 때문입니다. – MeMyselfAndI

+0

이것을 참조하십시오 : [MATLAB : .mat 버전 간의 차이점] (http://stackoverflow.com/q/4950630/97160) – Amro

답변

2

사용중인 데이터 유형이 그 원인이라고 생각됩니다. 그냥 오류 메시지가 제안 무엇을보십시오 :

save('./vol.mat', 'vol', '-v7.3') 

버전 1 .mat 파일 형식 7.3 실제로 기본 버전보다 최신 ('-v6')입니다. 그것은 매우 오래된 matlab 버전과의 호환성이 결여되어 있고 64 비트 시스템에서만 사용 가능하다고 알려져 있으며 단점이 있다고하는 단점이 있습니다. 그 외에는 '-v7.3'을 사용하지 않을 이유가 없습니다.

은 BTW, 나는 이러한 기본값이되는 한

save('vol', 'vol', '-v7.3') 

은 (는 비슷한 상황에 나를 위해 그렇게) 작동합니다, 당신은 './'.mat 제거 수 있다고 생각합니다.

관련 문제