¿Qué es el formato de archivo MAT?
.mat es un archivo de datos binarios utilizado por MATLAB -el entorno de computación técnica de MathWorks- para almacenar variables con nombre del espacio de trabajo. Arreglos, matrices, estructuras, arreglos de celdas y cadenas se empaquetan en un único archivo .mat, lo que permite a los analistas guardar una sesión de trabajo completa y recargarla exactamente como se dejó.
El formato ha evolucionado a través de varias generaciones. El contenedor dominante Level 5, introducido en 1996, comienza con un encabezado descriptivo ASCII de 128 bytes -los primeros bytes dicen MATLAB 5.0 MAT-file- seguido de una secuencia de elementos de datos etiquetados (registros miMATRIX) que llevan cada uno un nombre de variable, clase de datos y dimensiones junto con los bytes del arreglo original. El formato v7 añadió compresión opcional DEFLATE (zlib) por variable manteniendo esta misma estructura. MAT-file v7.3, lanzado con MATLAB R2006b (2006), cambia silenciosamente el contenedor a HDF5, razón por la cual algunos archivos .mat se abren en herramientas genéricas de HDF5 como HDFView mientras que los más antiguos no. El formato v7.3 también elimina el límite práctico de tamaño de ~2 GB por variable del Level 5.
Guardar y cargar archivos .mat en MATLAB utiliza los comandos save y load; pase -v7.3 a save para seleccionar el motor HDF5. GNU Octave lee y escribe tanto Level 5 como v7.3 de forma nativa. En Python, scipy.io.loadmat maneja Level 5, mientras que h5py se encarga de v7.3. Los datos también pueden intercambiarse con archivos .csv para resultados tabulares más simples. El tipo MIME registrado es application/x-matlab-data.
Seguridad y protección
RIESGO: LOWUn archivo de datos .mat es pasivo: almacena números y cadenas, no código ejecutable, por lo que abrir uno para leer sus variables es de bajo riesgo. Dos advertencias: (1) los manejadores de funciones y objetos de MATLAB pueden serializarse en un .mat, y cargarlos puede, en casos específicos, invocar código de clase; trate los archivos .mat de fuentes no confiables con la misma precaución que cualquier dato que procese mediante scripts; (2) un .mat v7.3 es un archivo HDF5, así que use un lector HDF5/MAT actualizado. No hay ejecución automática tipo macro como en los documentos de Office.
Detalles del formato
en pocas palabras- Archivo de materiales de 3ds Max / motor de juegos - Algunas herramientas 3D y de juegos usan .mat para una definición de material (sombreadores/texturas), sin relación con MATLAB.
- Sesión de Audiotool .mat - El estudio de música en línea Audiotool guarda proyectos con la extensión .mat.
- Acceso directo a tabla de Microsoft Access - Legado: un pequeño puntero que lanza una tabla de Access - el nombre (incorrecto) registrado en la base de datos de este sitio.
Programas que abren archivos MAT
Detalles técnicos
especificación profunda| Desarrollador | MathWorks |
| Tipo de formato | Contenedor binario de datos científicos (arreglos y variables con nombre); v7.3 usa HDF5 en disco |
| Versiones del formato | Level 4 (legado, anterior a 1996), Level 5 (MATLAB 5-7), v7.3 (basado en HDF5, R2006b en adelante) |
| Firma de archivo Level 5 | Texto ASCII «MATLAB 5.0 MAT-file» en un encabezado descriptivo de 128 bytes que comienza en el desplazamiento de byte 0 |
| Firma de archivo v7.3 | Bytes mágicos HDF5 89 48 44 46 0D 0A 1A 0A en el desplazamiento 0; el bloque de usuario HDF5 comienza con «MATLAB 7.3 MAT-file» |
| Orden de bytes | Autodescrito: «MI» = big-endian, «IM» = little-endian, almacenado en los bytes 126-127 del encabezado Level 5; v7.3 (HDF5) registra sus propios metadatos de orden de bytes |
| Tipos de datos compatibles | double, single, int8/16/32/64, uint8/16/32/64, arreglos complejos, char, logical, struct, cell array, function handle |
| Compresión | Opcional por variable DEFLATE (zlib) en Level 5 v7; filtro HDF5 gzip/deflate disponible en v7.3 |
| Límite de tamaño por variable | Level 5: ~2 GB por variable; v7.3 (HDF5): sin límite superior práctico - admite arreglos que superan los 2 GB |
| Tipo MIME | application/x-matlab-data (application/matlab-mat y application/octet-stream también se ven en la práctica) |
| Estructura interna Level 5 | Encabezado de texto descriptivo de 128 bytes seguido de una secuencia de elementos de datos miMATRIX etiquetados, cada uno almacenando el nombre de la variable, clase, dimensiones y datos del arreglo original |
| Compatibilidad con herramientas HDF5 | Los archivos v7.3 son HDF5 válidos y se abren en HDFView, la biblioteca C de HDF5, h5py y otras herramientas compatibles con HDF5 sin MATLAB |
| Acceso desde Python | scipy.io.loadmat para archivos Level 5/v7; h5py o el paquete mat73 para archivos v7.3 |
| Flags del comando save de MATLAB | -v6 o -v7 selecciona Level 5; -v7.3 selecciona el formato basado en HDF5 (ej. save('datos.mat','nombrevar','-v7.3')) |
| Verificación de integridad | Level 5 no tiene suma de comprobación para todo el archivo; v7.3 (HDF5) admite filtros opcionales de suma de comprobación HDF5 por conjunto de datos |
| Lanzado | MAT-file Level 5 format with MATLAB 5 (1996); v7.3 (HDF5-based) added in MATLAB 7.3 (2006) |
| Última versión | MAT-file v7.3 (HDF5-based, supports variables > 2 GB); Level 5 still used by v6/v7 |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.mathworks.com |
Conversiones de MAT
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos MAT.