Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Soporte para Interleaved Complex API en funciones MEXMATLAB

Cuando una matriz de números complejos se representa en la memoria del equipo, hay varias opciones para la ubicación y el orden de almacenamiento. Antes de la versión 9,4 (R2018a), se utilizaba una representación de almacenamiento.MATLAB®MATLABSeparado Las partes reales y las imaginarias de los números se almacenaban por separado. utiliza una representación de almacenamiento para los archivos MEX de lenguaje C y Fortran, donde las partes reales e imaginarias se almacenan juntas. se refiere a esta representación.MATLABInterleavedInterleaved Complex

Dado que muchas bibliotecas matemáticas utilizan una representación compleja intercalada, el uso de la misma representación en sus funciones MEX elimina la necesidad de traducir los datos. Esto simplifica el código y potencialmente acelera el procesamiento cuando hay grandes conjuntos de datos implicados.

Este cambio no afecta al idioma.MATLAB Puede seguir utilizando la funcionalidad descrita en sin ninguna modificación de sus funciones y scripts.Números complejos

API compleja independiente y la API de Interleaved Complex

Hay dos versiones de la y.C Matrix APIAPI para manipular matrices de Fortran

  • Contiene las funciones de la API de C y Fortran Matrix en versión r2017b y versiones anteriores.API compleja independienteMATLAB

  • Contiene la funcionalidad de la API de matriz de C a partir de R2018a y la funcionalidad de la API de Fortran Matrix a partir de R2018a Update 3.intercalada Complex APIMATLABMATLAB

Para compilar archivos MEX con la API de intercalado complejo, utilice la.mexopción de compilación específica de la versión-R2018a Para compilar archivos MEX con la API compleja independiente, use la opción de compilación.-R2017b El comando utiliza la API compleja independiente de forma predeterminada.mex Sin embargo, en una versión futura de, utilizará la API compleja intercalada (opción) de forma predeterminada y, a continuación, debe modificar el comando de compilación.MATLABmex-R2018a Por lo tanto, para garantizar el comportamiento deseado en todas las versiones, agregue la opción a los scripts de compilación existentes.MATLAB-R2017b Para escribir código para admitir ambas API, vea.Agregar para admitir representaciones de números complejosMX_HAS_INTERLEAVED_COMPLEX

Nota

Para ejecutar un archivo MEX Fortran construido con la API compleja intercalada en R2018a, debe usar R2018a Update 3.MATLABMATLAB

Los cambios de Matrix API admiten el complejo Interleaved

Los siguientes cambios en las API de C y Fortran Matrix admiten el complejo intercalado.

Escritura MEX funciones con Interleaved Complex API

Para obtener información sobre cómo escribir funciones MEX mediante la API de intercalado complejo, vea en aplicaciones C o.Manejar datos complejosManejar los datos complejos de Fortran

Funciones MEX creadas en versión r2017b y anterioresMATLAB

Si ya construye funciones MEX, MEX S-Functions, o el motor autónomo y las aplicaciones MAT-File, entonces usted debe revisar el tema.MATLAB¿Necesito actualizar mis archivos MEX para usar la API de Interleaved Complex? Para ayudar a la transición de los archivos Mex y S-Functions a la API intercalada complejo, mantiene una interfaz de compatibilidad.MATLAB Para compilar archivos MEX con la interfaz de compatibilidad, utilice la marca.mex-R2017b Si el código procesa números complejos, es posible que observe un impacto en el rendimiento, ya que adapta los datos al formato complejo intercalado.MATLAB

El comando utiliza la API de forma predeterminada.mex-R2017b Sin embargo, en una versión futura de, usará la API intercalada compleja de forma predeterminada y, a continuación, debe modificar el comando de compilación.MATLABmex-R2018a Por lo tanto, para garantizar el comportamiento deseado en todas las versiones de, agregue la marca de compatibilidad a los scripts de compilación.MATLAB-R2017b

Temas relacionados