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.

Manipulación de s grandesmxArray

Los archivos MEX binarios construidos en plataformas de 64 bits pueden manejar 64-bit s.mxArray Estas grandes matrices de datos pueden tener hasta 248– 1 elementos. El número máximo de elementos que un disperso puede tener es de 2mxArray48-2.

El uso de las siguientes instrucciones crea archivos MEX binarios independientes de la plataforma también.

La configuración del sistema puede afectar al rendimiento de.MATLAB® El requisito del procesador de 64 bits le permite crear y acceder a los datos en él.mxArray Sin embargo, la memoria del sistema, en particular el tamaño de la RAM y la memoria virtual, determinan la velocidad a la que procesa el.MATLABmxArray Cuanta más memoria esté disponible, más rápido se procesa.

La cantidad de RAM también limita la cantidad de datos que puede procesar al mismo tiempo.MATLAB Para obtener orientación sobre problemas de memoria, consulte.Strategies for Efficient Use of Memory

Con la API de 64 bits

Las firmas de las funciones de API que se muestran en la tabla siguiente utilizan los tipos o para trabajar con un 64 bits.mwSizemwIndexmxArray Las variables que se usan en el código fuente para llamar a estas funciones deben ser del tipo correcto.

Funciones de Fortran uso/mxArraymwSizemwIndex

mxCalcSingleSubscriptmxCreateStructMatrix
mxCallocmxGetCell

mxCopyCharacterToPtr

mxGetDimensions

mxCopyComplex16ToPtr

mxGetElementSize

mxCopyComplex8ToPtr

mxGetField

mxCopyInteger1ToPtr

mxGetFieldByNumber

mxCopyInteger2ToPtr

mxGetIr

mxCopyInteger4ToPtr

mxGetJc

mxCopyPtrToCharacter

mxGetM

mxCopyPtrToComplex16

mxGetN

mxCopyPtrToComplex8

mxGetNumberOfDimensions

mxCopyPtrToInteger1

mxGetNumberOfElements

mxCopyPtrToInteger2

mxGetNzmax

mxCopyPtrToInteger4

mxGetProperty

mxCopyPtrToPtrArray

mxGetString

mxCopyPtrToReal4

mxMalloc

mxCopyPtrToReal8

mxRealloc

mxCopyReal4ToPtr

mxSetCell

mxCopyReal8ToPtr

mxSetDimensions
mxCreateCellArraymxSetField
mxCreateCellMatrixmxSetFieldByNumber
mxCreateCharArraymxSetIr
mxCreateCharMatrixFromStringsmxSetJc
mxCreateDoubleMatrixmxSetM
mxCreateNumericArraymxSetN
mxCreateNumericMatrixmxSetNzmax
mxCreateSparsemxSetProperty
mxCreateStructArray 

PRECAUCIÓN uso de valores negativos

Cuando se utiliza la API de 64 bits y son equivalentes a en Fortran.mwSizemwIndexINTEGER*8 Este tipo es unsigned, a diferencia de, que es el tipo utilizado en la API de 32 bits.INTEGER*4 Tenga cuidado de no pasar ningún valor negativo a las funciones que toman o argumentos.mwSizemwIndex No lances valores negativos a o; no se puede predecir el valor devuelto.INTEGER*4mwSizemwIndex En su lugar, cambie el código para evitar el uso de valores negativos.

Creación de aplicaciones multiplataforma

Si desarrolla aplicaciones multiplataforma (programas que pueden ejecutarse en arquitecturas de 32 bits y 64 bits), preste atención al límite superior de valores que utiliza para y.mwSizemwIndex La aplicación de 32 bits lee estos valores y los asigna a las variables declaradas como en Fortran.INTEGER*4 Tenga cuidado de no asignar un valor grande a una variable o a otra que pueda ser demasiado pequeña.mwSizemwIndexINTEGER*4