Novedades de MATLAB

Nuevas herramientas para preprocesar y analizar datos, escribir scripts y algoritmos, crear apps, y desarrollar software en equipo.

Y, por cierto, MATLAB es más rápido que nunca. Conózcanos más de cerca.

Entorno

NOVEDAD Controles de Live Editor: agregue indicadores numéricos giratorios para aumentar y disminuir valores de variables en scripts en vivo (R2022b); cree controles dinámicos enlazando variables a valores de controles de Live Editor (R2021a), y establezca valores predeterminados (R2021b)

NOVEDAD Tareas de Live Editor: especifique qué código se debe ejecutar cuando cambia el valor de un control (R2022b); desarrolle tareas de Live Editor propias para utilizarlas en scripts en vivo (R2022a)

NOVEDAD Temas en MATLAB Online: cambie los colores de MATLAB Desktop para que coincidan con el esquema de colores del sistema operativo (R2022b)

Soporte para Python en el Editor: vea y edite archivos de Python con sintaxis resaltada, sangría automática y concordancia de delimitadores (R2022a)

Colores en Live Editor: cambie los colores del fondo y el texto de los scripts en vivo y las funciones (R2022a)

Exportación desde Live Editor: exporte scripts en vivo y funciones de manera programática con la función export (R2022a)

Editor: refactorización de código y edición de bloques, así como mejoras en las sugerencias de código, la finalización automática de código y los controles de depuración línea a línea (R2021b)

Animaciones en Live Editor: utilice la interfaz interactiva para controlar animaciones (R2021a) y exportarlas como vídeos o GIF animados (R2021b)

Lenguaje y programación

Utilice los nuevos tipos de datos y construcciones de lenguaje para escribir con mayor rapidez código más claro y más fácil de mantener. 

NOVEDAD Objeto dictionary: asigne claves únicas a valores para realizar búsquedas rápidas (R2022b)

NOVEDAD App Code Analyzer: identifique y explore problemas en el código base (R2022b)

NOVEDAD Validación de argumentos de salida: valide argumentos de salida de funciones y métodos de clase (R2022b)

Validación de argumentos de entrada de las funciones: declare los argumentos de entrada de las funciones para simplificar la comprobación de errores de entrada (R2020b, R2019b)

Sintaxis name=value: emplee la sintaxis name=value para cualquier función que utilice argumentos de par nombre-valor (R2021a)

Función pcode: cree archivos de código P con ofuscación mejorada (R2022a)

backgroundPool: ejecute una función de manera asíncrona desde MATLAB sin bloquear la línea de comandos (R2021b); consulte objetos futuros en cola y en ejecución, y el estado del grupo en segundo plano (R2022a)

Indexación modular: personalice las operaciones de indexación de clases individualmente con las nuevas superclases (R2021b)

Visor de diagramas de clases: cree diagramas gráficos de clases para explorar los detalles de las clases y compartir diseños con el visor de diagramas de clases (R2021a)

Código que muestra funciones y argumentos para buscar la imagen de una pelota.

Ejemplo de validación de argumentos de función con el bloque arguments.

Importación y análisis de datos

Acceda a datos de diversos orígenes para organizarlos, limpiarlos y analizarlos.

NOVEDAD App Data Cleaner: identifique y limpie datos confusos de manera interactiva en cronogramas (R2022a) y tablas (R2022b); visualice minigráficos y estadísticas de resumen (R2022b)

NOVEDAD Análisis de datos: funciones nuevas y actualizadas para analizar datos, tales como trenddecomp, detrend, mape, rmse e isuniform (R2022b, R2021b)

NOVEDAD Editor de variables en MATLAB Online: visualice minigráficos y estadísticas de resumen para datos tabulares; navegue por una variable con los cuadros de diálogo Find y Go To; guarde índices lógicos de selección de datos de manera interactiva, y reemplace datos tabulares con arrays vacíos (R2022b)

NOVEDAD Procesamiento en paralelo: utilice operaciones de E/S de archivos de bajo nivel en entornos basados en subprocesos (R2022b)

Funciones de preprocesamiento de datos: adjunte variables transformadas a datos de entrada (R2022a)

Tareas de preprocesamiento de datos de Live Editor: agregue interfaces de estilo point-and-click simples a un script en vivo para realizar un conjunto concreto de operaciones, como suavizar y normalizar, agrupar y unir, y eliminar valores ausentes y atípicos (R2019b-R2021b)

HDF5: soporte para la versión 1.10 de HDF5, incluidas las características de escritor único/lector múltiple (SWMR), conjunto de datos virtual (VDS) y ajuste preciso de caché de metadatos (R2021b)

NetCDF: soporte para la versión 4.7.4 de NetCDF, incluida lectura y escritura de datos NC_STRING (R2021b); lectura de intervalo de bytes de conjuntos de datos remotos (R2022a)

Preprocesamiento de datos con la tarea Clean Outlier Data de Live Editor.

Big data

Amplíe el análisis a big data sin necesidad de realizar grandes cambios.

NOVEDAD Archivos de Parquet: filtrado condicional (distribución de predicados) con rowfilter para limitar el volumen de datos importado; soporte para leer y escribir datos anidados y grupos de filas (R2022b, R2022a)

Rendimiento de almacenes de datos: especifique el objeto FileSet en los almacenes de datos para aumentar el rendimiento (R2021b)

Almacenes de datos: lea todos los datos de un almacén de datos utilizando el procesamiento en paralelo (R2021a); combine y transforme los almacenes de datos (R2019a)

Escritura en almacenes de datos: escriba grandes colecciones de datos de almacenes de datos en el disco para flujos de trabajo basados en archivos e ingeniería de datos (R2020a)

Arrays altos: realice operaciones en arrays altos con más funciones, como:

  • groupfilter y matches (R2020a)
  • setdiff, xcorr y outerjoin (R2019b)
  • groupcounts, intersect y svd (R2019a)
Tabla codificada por colores que muestra vuelos de aerolíneas por mes y año entre 1987 y 2008.

Los arrays altos operan con datos que tienen más filas de las que caben en la memoria.

Matemáticas

Las funciones matemáticas proporcionan diversos métodos de cálculo numérico para analizar datos, desarrollar algoritmos y crear modelos.

NOVEDAD Matemáticas de array N-D: calcule normas (pagenorm), resuelva ecuaciones lineales (pagemldivide, pagemrdivide), calcule matrices inversas (pageinv) y realice descomposición en valores singulares (pagesvd) en páginas de arrays N-D (R2022b, R2022a, R2021b)

NOVEDAD Generación de código para funciones matemáticas: genere código C (con MATLAB Coder) para varias funciones, como ode15s, shortestpath y nearest (R2022b), integral e interpft (R2022a), y digraph, graph, hess, ode78 y ode89 (R2021b)

Función tensorprod: calcule productos tensoriales entre dos arrays (R2022a)

Funciones ode78 y ode89: solvers de Runge-Kutta de orden superior para ecuaciones diferenciales ordinarias (R2021b)

Algoritmos de gráficas: calcule todas las rutas, todos los ciclos y bases de ciclo (R2021a)

Tarea Optimize de Live Editor: resuelva problemas de optimización de manera interactiva (R2020b)

Ventana de optimización que muestra opciones para minimizar una función con o sin restricciones.

Utilice la tarea Optimize de Live Editor para definir y resolver problemas de optimización de manera interactiva.

Visualización de datos

Visualice datos con nuevas funciones de representación gráfica y prestaciones de personalización.

NOVEDAD Representación gráfica de datos de tablas: pase tablas directamente a gráficas de puntos, de escalones y geográficas (R2022b), plot, plot3, polarplot y otras funciones para gráficas de líneas (R2022a) y diagramas de dispersión, gráficas de burbujas y diagramas de enjambre (R2021b)

NOVEDAD Código para formatear figuras en MATLAB Online: genere código cuando edite propiedades de objetos de gráficas (R2022b)

NOVEDAD Opciones de gráficas en MATLAB Online: personalice la creación de figuras, el enlazado de datos y el etiquetado (R2022b)

Función exportgraphics: cree archivos de GIF animados (R2022a); capture y adjunte gráficos a archivos PDF existentes (R2021b)

Tarea Create Plot de Live Editor: cree gráficas de manera interactiva y genere código (R2021a); agregue visualizaciones a las gráficas generadas (R2021b)

Nuevas funciones de gráficos: visualice las relaciones entre las partes y el todo con bubblecloud (R2021a); cree gráficas de burbujas en 2D, 3D y coordenadas polares con bubblechart, bubblechart3 y polarbubblechart (R2020b); visualice distribuciones de datos discretos con swarmchart (R2020b)

Funciones exportgraphics y copygraphics: guarde y copie gráficas con soporte mejorado para flujos de trabajo de publicación (R2020a)

Función tiledlayout: cree diseños configurables de gráficas en una figura (R2019b); posicione, anide y cambie el tamaño de la cuadrícula en los diseños (R2020a)

Creación de apps

App Designer permite crear apps profesionales aunque no sea un desarrollador de software profesional.

NOVEDAD Rendimiento de apps: inicio más rápido y mejora de la capacidad de respuesta de las interacciones gráficas (R2022b)

Tareas de Live Editor: desarrolle sus propias tareas de Live Editor para utilizarlas en scripts en vivo (R2022a)

Componentes personalizados de interfaz de usuario: cree componentes de interfaz de usuario personalizados interactivamente en App Designer (R2022a), o bien cree su propia clase programáticamente (R2020b) para construir componentes de interfaz de usuario compuestos que encapsulan algoritmos, objetos de interfaz de usuario y gráficas

Componentes de tabla de la interfaz de usuario: reorganice las columnas de los componentes de tabla de la interfaz de usuario de manera interactiva (R2022a); desplácese hasta una ubicación en un componente de tabla de la interfaz de usuario de manera programática con la función scroll (R2021a)

Accesibilidad: modifique el orden de enfoque sobre las pestañas de los componentes en App Designer y conceda enfoque sobre el teclado a los componentes de la interfaz de usuario de manera programática con la función focus (R2022a)

Estilos: agregue iconos en celdas de tablas y nodos de árboles (R2022a); cree y agregue estilos a nodos y niveles de un componente de árbol de la interfaz de usuario (R2021b); cree y agregue estilos a filas, columnas o celdas de un componente de tabla de la interfaz de usuario (R2019b)

Ejecución de código en segundo plano: utilice lenguaje de programación en paralelo (backgroundPool) para crear apps con mayor capacidad de respuesta (R2021b)

App Designer: utilice herramientas y accesos directos de Live Editor en Code View (R2021b); haga zoom y realice movimiento panorámico en el área de diseño de Design View (R2021a)

Herramienta de comparación: busque diferencias y combine apps de App Designer (R2020b)

Interfaces de lenguaje externo

MATLAB ofrece una integración bidireccional flexible con otros lenguajes de programación. Eso permite que los equipos de trabajo que utilizan diferentes lenguajes de programación puedan colaborar y dedicar más tiempo a desarrollar productos que a reescribir el código en otro lenguaje.

NOVEDAD API del motor de .NET: llame a MATLAB desde aplicaciones .NET (R2022b)

NOVEDAD Interfaz de .NET: soporte para .NET 5 y .NET Core (R2022b)

NOVEDAD Motor de Python: pase arrays NumPy directamente a funciones de MATLAB (R2022b)

Python: convierta los tipos list y tuple de Python en tipos de MATLAB (R2022a)

Python: utilice la sintaxis name=value para pasar argumentos de palabras clave a las funciones de Python (R2022a)

Funciones pyrun y pyrunfile: ejecute comandos y scripts de Python desde MATLAB (R2021b)

Python: soporte para arrays multidimensionales complejos (R2021b)

Interfaz de C++: establezca una interfaz de MATLAB a una librería de C++ desde archivos de encabezado, archivos de origen o archivos de librería (R2021a, R2020b)

Rendimiento

Cada versión de MATLAB es más rápida que la anterior, y sin necesidad de modificar ni una sola línea de código.

NOVEDAD Funciones prctile, quantile e iqr: mejoras en el rendimiento con datos de entrada pequeños (R2022b)

NOVEDAD Funciones mldivide y pagemldivide: mejoras en el rendimiento con matrices pequeñas (R2022b)

NOVEDAD Funciones conv, conv2 y convn: mejoras en el rendimiento al convolucionar dos vectores, matrices y arrays (R2022b)

NOVEDAD Rendimiento de apps: inicio más rápido y mejora de la capacidad de respuesta de las interacciones gráficas (R2022b); mejoras en el rendimiento para crear gráficas en uifigure (R2021b)

Clases: mejoras en el rendimiento de métodos estáticos, acceso a propiedades constantes y funciones de paquetes en scripts (R2022a)

Conversión de tipos de datos de Python: mejoras en el rendimiento al convertir entre tipos de datos de Python y MATLAB en modo fuera de proceso (R2022a)

API del motor de MATLAB para Python: mejoras en el rendimiento con arrays multidimensionales de gran tamaño en Python (R2022a)

Indexación de tablas: mejoras en el rendimiento al asignar elementos utilizando subíndices con llaves, notación de puntos o varios niveles de indexación (R2022a, R2021b)

Función fzero: mejoras en el rendimiento (R2022a)

Multiplicación de matrices dispersas: mejoras en el rendimiento al multiplicar matrices dispersas grandes (R2021a)

Sistemas lineales dispersos: mejoras en el rendimiento al resolver sistemas lineales dispersos A*X = B con B multicolumna (R2021a)

Gráfico de barras que muestra un aumento del rendimiento de MATLAB año tras año.

Desarrollo de software

Las herramientas de desarrollo de software ayudan a gestionar y probar el código, realizar la integración con otros sistemas de software y desplegar las aplicaciones en la nube.

NOVEDAD Build Tool: cree y ejecute tareas creadas con software (R2022b)

NOVEDAD Analizador de dependencias: busque complementos necesarios (R2021a), identifique archivos que contengan errores de sintaxis (R2022b), y guarde gráficas de dependencias como imágenes (R2022a)

NOVEDAD MATLAB Online: colabore utilizando proyectos y Git en MATLAB Online (R2021b), incluida la gestión de ramas y repositorios de Git (R2022b)

App Code Compatibility Analyzer: identifique y solucione problemas de compatibilidad con la versión actual de MATLAB (R2022a)

Marco de pruebas unitarias: utilice la plantilla de clase TestCase para crear pruebas con mayor rapidez y precisión (R2021b); recopile métricas de cobertura de funciones e instrucciones para el código fuente (R2022a); ejecute pruebas en paralelo, en clusters y nubes (R2020b)

Complemento de Jenkins para MATLAB: ejecute pruebas de MATLAB y genere informes de pruebas en formatos tales como los informes de cobertura de código JUnit, TAP y Cobertura

Nuevas arquitecturas de referencia: despliegue y ejecute MATLAB en Amazon Web Services (AWS) y Microsoft Azure

Carpeta actual que muestra la opción Source Control seleccionada en un menú y Update from SVN en el siguiente menú.

Uso de herramientas de control de versiones de terceros como SVN directamente desde MATLAB.

Control de hardware

Controle microcontroladores conocidos, tales como Arduino y Raspberry Pi, capture imágenes desde webcams, y adquiera datos de sensores e imágenes de drones.

NOVEDAD Arduino: soporte para placas de desarrollo de MCU ESP32 (R2022a), incluidos los periféricos de codificador rotatorio y servo (R2022b)

NOVEDAD Arduino: conecte y controle placas con la app Arduino Explorer (R2021b), incluida la gestión de librerías de Arduino y la interacción con periféricos I2C, SPI y serie (R2022b); conectividad BLE para Arduino (R2021b)

App Hardware Manager: detecte hardware y conéctese desde MATLAB (R2022a)

Soporte para sensores: lea datos de un sensor APDS9960 conectado a Arduino (R2021b)

Raspberry Pi: soporte para escudos CAN (R2021b)

Drones: conéctese a varios drones Ryze Tello para controlar y leer datos de sensores (R2021b)

App Arduino Explorer que muestra la configuración y la representación gráfica de pines.

Analice las mediciones de los sensores con la app Arduino Explorer.