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.

Tablas de la función MEX ejemplos de código fuente

Las tablas siguientes contienen listas de archivos de código fuente para crear funciones MEX de ejemplo. Utilice estos ejemplos como punto de partida para crear sus propias funciones MEX. Las tablas contienen la siguiente información.

  • Nombre de ejemplo: un vínculo que abre el archivo de origen en el editor para su conveniencia.MATLAB® Puede usar cualquier editor de desarrollo de código para crear archivos MEX de origen.

  • Subcarpeta de ejemplo: la subcarpeta de matlabrootque contiene el ejemplo./extern/examples Utilice este nombre de subcarpeta al copiar el archivo en una carpeta de escritura.

  • Description: describe el ejemplo.

  • Más información: un vínculo a un tema que describe o usa el ejemplo, o a la función de API utilizada en el ejemplo.

Empezar

Utilice el comando para compilar los ejemplos.mex Asegúrese de que tiene instalado un compilador compatible.MATLAB Para comprobar el compilador seleccionado para el lenguaje de código fuente langTipo:

mex -setup lang

Copie el archivo en una carpeta de escritura en la ruta de acceso con la siguiente sintaxis de comando. filename es el nombre del ejemplo y foldername es el nombre de la subcarpeta.

copyfile(fullfile(matlabroot,'extern','examples','foldername','filename'),'.','f')

Por ejemplo, para copiar, escriba:arrayProduct.c

copyfile(fullfile(matlabroot,'extern','examples','mex','arrayProduct.c'),'.','f')

Funciones MEX C, C++ y Fortran

Para crear un ejemplo de función MEX en o en el símbolo del sistema operativo, utilice esta sintaxis de comando.MATLAB filename es el nombre del ejemplo y release-option Especifica la API utilizada por el ejemplo. Para obtener información acerca de las API, consulte.MATLABAplicaciones MEX

mex -v -release-option filename
Nombre de ejemplo Subcarpeta de ejemplo Descripción Más información
arrayFillGetPr.c refbook

Rellene con.mxArraymxGetDoubles

Rellene mxArray
arrayFillSetData.c refbook

Rellene con valores no dobles.mxArray

Rellene mxArray
arrayFillSetPr.c refbook

Rellene utilizando para asignar memoria dinámicamente.mxArraymxSetDoubles

Rellene mxArray
arrayFillSetPrComplex.crefbook

Rellene utilizando para asignar memoria dinámicamente.mxArraymxSetComplexDoubles

Rellene mxArray
arrayProduct.cmex

Multiplique una matriz de 1xN de tiempos escalares.

Crear archivo MEX fuente C
arrayProduct.cppcpp_mex

Igual que, usando el.arrayProduct.cAPI de datos de MATLAB

Funciones MEX de C++
arraySize.c mex

Ilustrar los requisitos de memoria de gran tamaño.mxArray

Manipulación de grandesmxArrays
complexAdd.Frefbook

Agregue dos matrices dobles complejas.

 
convec.c
convec.F
refbook

Pasar datos complejos.

Manejar datos complejos
dblmat.F
compute.F
refbookUso de Fortran.%VAL 
doubleelement.crefbookUtilice enteros de 16 bits sin signo.Maneje datos de 8, 16, 32 y 64 bits
explore.cmexIdentifique el tipo de datos de la variable de entrada.Trabaje con mxArrays
findnz.c refbookUtilice matrices N-dimensionales.Manipular matrices numéricas multidimensionales
fulltosparseIC.c
fulltosparse.c
fulltosparse.F, loadsparse.F
refbookRellene una matriz dispersa.Controlar matrices dispersas
matsq.FrefbookPase matrices en Fortran. 
matsqint8.FrefbookPase matrices no dobles en Fortran. 
mexatexit.c
mexatexit.cpp
mexRegistre una función Exit para cerrar un archivo de datos.Controlar archivos con C++
mexcallmatlab.cmex

Llame a la función incorporada.MATLABdisp

 
mexcallmatlabwithtrap.c mexCómo capturar información de errores. 
mexcpp.cppmexIlustrar algunas características del lenguaje C++ en un archivo MEX construido con la API de matriz de C.Utilice la clase de C++ en el archivo de C MEX
mexevalstring.c mexSe utiliza para asignar variables.mexEvalStringMATLABmexEvalString
mexfunction.cmexCómo usar.mexFunctionmexFunction
mxgetproperty.cmexUtilice y para cambiar la propiedad de un objeto gráfico.mxGetPropertymxSetPropertyColorYmxGetPropertymxSetProperty
mexgetarray.cmexUtilice y para rastrear los contadores en el archivo MEX y en el espacio de trabajo global.mexGetVariablemexPutVariableMATLABYmexGetVariablemexPutVariable
mexgetarray.cpp Igual que, usandomexgetarray.c matlab::engine::getVariable Y matlab::engine::setVariable En.API de datos de MATLABEstablecer y obtener variables de MEXMATLAB
mexlock.c
mexlockf.F
mexCómo bloquear y desbloquear un archivo MEX.mexLock
mxcalcsinglesubscript.cmxDemuestre la indexación de matrices basada en 1 en comparación con la indexación basada en C 0.MATLABmxCalcSingleSubscript
mxcreatecellmatrix.c
mxcreatecellmatrixf.F
mxCree una matriz de celdas 2-D.Crear matriz de celdas 2-D
mxcreatecharmatrixfromstr.cmxCree una matriz de caracteres 2-D.mxCreateCharMatrixFromStrings
mxcreatestructarray.cmxCrear estructura a partir de estructura C.MATLABmxCreateStructArray
mxcreateuninitnumericmatrix.cmx

Crear un sin inicializar, rellenar con datos locales y devolver.mxArray

mxCreateUninitNumericMatrix
mxgeteps.c
mxgetepsf.F
mx

Valor de lectura.MATLABeps

mxGetEps
mxgetinf.cmx

Valor de lectura.inf

mxGetInf
mxgetnzmax.c mxMostrar el número de elementos distintos de cero en una matriz dispersa y el número máximo de elementos distintos de cero que puede almacenar.mxGetNzmax
mxisclass.cmxCompruebe si array es miembro de la clase especificada.mxIsClass
mxisfinite.cmxCompruebe si hay valores infinitos.NaNmxIsFinite
mxislogical.cmx

Compruebe si la variable de espacio de trabajo es lógica o global.

mxIsLogical
mxisscalar.cmxCompruebe si la variable de entrada es escalar.mxIsScalar
mxmalloc.cmx

Asigne memoria para copiar una matriz a una cadena de estilo C.MATLABchar

mxMalloc
mxsetdimensions.c
mxsetdimensionsf.F
mxRemodele una matriz.mxSetDimensions
mxsetnzmax.cmxReasignar memoria para la matriz dispersa y valores de restablecimiento de,,, y.prpiirnzmaxmxSetNzmax
passstr.F refbookPase la matriz de caracteres C de Fortran a.MATLAB 
phonebook.crefbookManipular estructuras y matrices de celdas.Pasar estructuras y matrices de celdas en C archivos MEX
phonebook.cppcpp_mexIgual que, usando el.phonebook.cAPI de datos de MATLABFunciones MEX de C++
revord.c
revord.F
refbook

Copie la matriz a y desde la cadena de estilo C.MATLABchar

Cadenas de paso
sincall.c
sincall.F, fill.F
refbook

Crear y pasar a y funciones.mxArrayMATLABsinplot

 
timestwo.c
timestwo.F
refbookDemostrar flujo de trabajo común de archivo MEX.Pasar valores escalares
xtimesy.c
xtimesy.F
refbookPase varios parámetros.
yprime.c
yprimef.F, yprimefg.F
mexResuelve el problema simple de tres órbita corporal. 
yprime.cppcpp_mexIgual que, usando el.yprime.cAPI de datos de MATLABFunciones MEX de C++

C funciones MEX llamando a las subrutinas Fortran

Los ejemplos de la siguiente tabla llaman a una función LAPACK o BLAS utilizando una función MEX C. Estos ejemplos enlazan con una o ambas bibliotecas de Fortran y.mwlapackmwblas Para compilar la función MEX, siga las instrucciones de los temas enumerados en la columna más información.

Nombre de ejemplo Subcarpeta de ejemplo Descripción Más información
dotProductComplex.crefbookControle el tipo de valor devuelto complejo Fortran para la función llamada desde un archivo MEX C.Manejar el tipo de retorno complejo Fortran —dotProductComplex
matrixDivide.crefbookLlame a una función LAPACK.Conservar valores de entrada de modificación
matrixDivideComplex.crefbookLlame a una función LAPACK con números complejos.Pasar variables complejas —matrixDivideComplex
matrixMultiply.crefbookLlame a una función BLAS.Pasar argumentos a funciones de Fortran desde programas de C/C++
utdu_slv.crefbookUtilice LAPACK para la factorización indefinida simétrica.Factorización indefinida simétrica usando LAPACK —utdu_slv

Consulte también

Temas relacionados

Sitios web externos