Co to jest format pliku MAT?
.mat to binarny plik danych używany przez MATLAB - środowisko obliczeń technicznych firmy MathWorks - do przechowywania nazwanych zmiennych obszaru roboczego. Tablice, macierze, struktury, tablice komórkowe i ciągi znaków są pakowane w jeden plik .mat, co pozwala analitykom zapisać całą sesję roboczą i załadować ją dokładnie w takim stanie, w jakim została pozostawiona.
Format ewoluował przez kilka generacji. Dominujący kontener Level 5, wprowadzony w 1996 roku, zaczyna się od 128-bajtowego opisowego nagłówka ASCII - pierwsze bajty to MATLAB 5.0 MAT-file - po którym następuje sekwencja oznaczonych elementów danych (rekordy miMATRIX), z których każdy zawiera nazwę zmiennej, klasę danych i wymiary wraz z surowymi bajtami tablicy. Format v7 dodał opcjonalną kompresję DEFLATE (zlib) dla poszczególnych zmiennych, zachowując tę samą strukturę. MAT-file v7.3, wprowadzony wraz z MATLAB R2006b (2006), po cichu zmienia kontener na HDF5 - dlatego niektóre pliki .mat otwierają się w ogólnych narzędziach HDF5, takich jak HDFView, podczas gdy starsze nie. Format v7.3 usuwa również praktyczny limit rozmiaru pojedynczej zmiennej wynoszący ok. 2 GB, obecny w Level 5.
Zapisywanie i wczytywanie plików .mat w MATLAB odbywa się za pomocą poleceń save i load; przekazanie parametru -v7.3 do save wybiera silnik HDF5. GNU Octave natywnie odczytuje i zapisuje zarówno Level 5, jak i v7.3. W Pythonie scipy.io.loadmat obsługuje Level 5, podczas gdy h5py radzi sobie z v7.3. Dane można również wymieniać z plikami .csv w celu uzyskania prostszych wyników tabelarycznych. Zarejestrowany typ MIME to application/x-matlab-data.
Bezpieczeństwo
RYZYKO: LOWPlik danych .mat jest pasywny - przechowuje liczby i ciągi znaków, a nie kod wykonywalny, więc otwarcie go w celu odczytania zmiennych jest obarczone niskim ryzykiem. Dwa zastrzeżenia: (1) uchwyty funkcji i obiekty MATLAB mogą być serializowane w pliku .mat, a ich ładowanie może w rzadkich przypadkach wywołać kod klasy - należy traktować pliki .mat z niezaufanych źródeł z taką samą ostrożnością, jak każde dane przetwarzane przez skrypty; (2) .mat v7.3 to plik HDF5, więc należy używać aktualizowanego czytnika HDF5/MAT. Nie ma tu automatycznego wykonywania makr, jak w dokumentach Office.
Szczegóły formatu
w pigułce- Plik materiału 3ds Max / silnika gier - Niektóre narzędzia 3D i gry używają rozszerzenia .mat dla definicji materiałów (shadery/tekstury), co nie jest powiązane z programem MATLAB.
- Sesja Audiotool .mat - Internetowe studio muzyczne Audiotool zapisuje projekty z rozszerzeniem .mat.
- Skrót do tabeli Microsoft Access - Zaszłość: mały wskaźnik uruchamiający tabelę Access - (błędna) nazwa zarejestrowana w bazie danych tej witryny.
Programy otwierające pliki MAT
Szczegóły techniczne
specyfikacja| Deweloper | MathWorks |
| Typ formatu | Binarny kontener danych naukowych (tablice i nazwane zmienne); v7.3 używa HDF5 na dysku |
| Wersje formatu | Level 4 (przestarzały, sprzed 1996), Level 5 (MATLAB 5-7), v7.3 (oparty na HDF5, od R2006b) |
| Sygnatura pliku Level 5 | Tekst ASCII „MATLAB 5.0 MAT-file” w 128-bajtowym nagłówku opisowym zaczynającym się od offsetu 0 |
| Sygnatura pliku v7.3 | Magiczne bajty HDF5 89 48 44 46 0D 0A 1A 0A na offsecie 0; blok użytkownika HDF5 zaczyna się od „MATLAB 7.3 MAT-file” |
| Kolejność bajtów | Samoopisująca się: „MI” = big-endian, „IM” = little-endian, zapisana w bajtach 126-127 nagłówka Level 5; v7.3 (HDF5) rejestruje własne metadane kolejności bajtów |
| Obsługiwane typy danych | double, single, int8/16/32/64, uint8/16/32/64, tablice zespolone, char, logical, struct, cell array, uchwyt funkcji |
| Kompresja | Opcjonalna DEFLATE (zlib) dla poszczególnych zmiennych w Level 5 v7; filtr gzip/deflate HDF5 dostępny w v7.3 |
| Limit rozmiaru zmiennej | Level 5: ok. 2 GB na zmienną; v7.3 (HDF5): brak praktycznego górnego limitu - obsługuje tablice przekraczające 2 GB |
| Typ MIME | application/x-matlab-data (w praktyce spotykane również application/matlab-mat i application/octet-stream) |
| Struktura wewnętrzna Level 5 | 128-bajtowy opisowy nagłówek tekstowy, po którym następuje sekwencja oznaczonych elementów danych miMATRIX, z których każdy przechowuje nazwę zmiennej, klasę, wymiary i surowe dane tablicy |
| Kompatybilność z narzędziami HDF5 | Pliki v7.3 są prawidłowymi plikami HDF5 i otwierają się w HDFView, bibliotece C HDF5, h5py i innych narzędziach obsługujących HDF5 bez programu MATLAB |
| Dostęp z poziomu Pythona | scipy.io.loadmat dla plików Level 5/v7; h5py lub pakiet mat73 dla plików v7.3 |
| Flagi polecenia save w MATLAB | -v6 lub -v7 wybiera Level 5; -v7.3 wybiera format oparty na HDF5 (np. save('data.mat','varname','-v7.3')) |
| Sprawdzanie integralności | Level 5 nie posiada sumy kontrolnej całego pliku; v7.3 (HDF5) obsługuje opcjonalne filtry sum kontrolnych HDF5 dla poszczególnych zestawów danych |
| Wydano | MAT-file Level 5 format with MATLAB 5 (1996); v7.3 (HDF5-based) added in MATLAB 7.3 (2006) |
| Najnowsza wersja | MAT-file v7.3 (HDF5-based, supports variables > 2 GB); Level 5 still used by v6/v7 |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.mathworks.com |
Konwersje MAT
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki MAT.