2015-03-31 14 views
6

Tôi tự hỏi nếu có một cách để xác định xem một tập tin MAT cụ thể là v4, v6, v7 hoặc v7.3?Làm cách nào để xác định phiên bản của tệp MAT từ MATLAB?

Tôi đang tìm một giải pháp có thể xác định phiên bản sử dụng mã MATLAB, tốt nhất là không phải tải dữ liệu vào bộ nhớ.

+4

Có một bình luận ở phần đầu của mỗi tập tin, sử dụng 'type' để hiển thị nó. Nó nói '5.0' cho v6 và v7, không chắc chắn những gì đã xảy ra. – Daniel

+0

@Daniel Điều đó rất hữu ích - tôi không biết. Bạn nên đặt nó như một câu trả lời, sẽ upvote. –

+0

Chỉ cần thêm vào nhận xét của @Daniel, các tệp 'v4' dường như không có tiêu đề nhận xét, các tệp' v6' và 'v7' có tiêu đề là 5.0 và tệp' v7.3' có tiêu đề là 7.3. –

Trả lời

5

Có một số nhận xét ở đầu tệp mat phiên bản 6 hoặc sau. Mã này đọc nó:

function txt=getMatComment(x) 
fid=fopen(x); 
txt=char(fread(fid,[1,140],'*char')); 
txt=[txt,0]; 
txt=txt(1:find(txt==0,1,'first')-1); 
end 

Có vẻ như chú thích luôn là 116 ký tự, nhưng tôi không tìm thấy bất kỳ tham chiếu nào. Mã này đọc 140 ký tự và cắt ở cuối.

Phần tôi không hiểu: Đối với Phiên bản 6 hoặc 7 nó nói MATLAB 5.0 MAT-file

Các vấn đề liên quan