stringtranslate.com

MATLAB

MATLAB (abreviatura de "MATrix LABoratory" [22] ) es un lenguaje de programación multiparadigma y un entorno de computación numérica desarrollado por MathWorks . MATLAB permite manipulaciones de matrices , representación gráfica de funciones y datos, implementación de algoritmos , creación de interfaces de usuario e interacción con programas escritos en otros lenguajes.

Aunque MATLAB está pensado principalmente para el cálculo numérico, una caja de herramientas opcional utiliza el motor simbólico MuPAD que permite el acceso a capacidades de cálculo simbólico . Un paquete adicional, Simulink , añade simulación gráfica multidominio y diseño basado en modelos para sistemas dinámicos e integrados .

En 2020 , MATLAB contaba con más de cuatro millones de usuarios en todo el mundo. [23] Provienen de diversos ámbitos de la ingeniería , la ciencia y la economía . En 2017 , más de 5000 colegios y universidades de todo el mundo utilizaban MATLAB para respaldar la enseñanza y la investigación. [24]

Historia

Orígenes

MATLAB fue inventado por el matemático y programador informático Cleve Moler . [25] La idea de MATLAB se basó en su tesis doctoral de los años 1960. [25] Moler se convirtió en profesor de matemáticas en la Universidad de Nuevo México y comenzó a desarrollar MATLAB para sus estudiantes [25] como pasatiempo. [26] Desarrolló la programación de álgebra lineal inicial de MATLAB en 1967 con su antiguo asesor de tesis, George Forsythe . [25] A esto le siguió el código Fortran para ecuaciones lineales en 1971. [25]

Antes de la versión 1.0, MATLAB "no era un lenguaje de programación; era una simple calculadora matricial interactiva. No había programas, ni cajas de herramientas, ni gráficos. Ni ecuaciones diferenciales ordinarias ni transformadas de Fourier ". [27]

La primera versión temprana de MATLAB se completó a fines de la década de 1970. [25] El software se reveló al público por primera vez en febrero de 1979 en la Escuela Naval de Postgrado en California. [26] Las primeras versiones de MATLAB eran calculadoras matriciales simples con 71 funciones preconstruidas. [28] En ese momento, MATLAB se distribuía de forma gratuita [29] [30] a las universidades. [31] Moler dejaba copias en las universidades que visitaba y el software desarrolló un fuerte seguimiento en los departamentos de matemáticas de los campus universitarios. [32] : 5 

En la década de 1980, Cleve Moler conoció a John N. Little . Decidieron reprogramar MATLAB en C y comercializarlo para los equipos de escritorio IBM que estaban reemplazando a los ordenadores mainframe en ese momento. [25] John Little y el programador Steve Bangert reprogramaron MATLAB en C, crearon el lenguaje de programación MATLAB y desarrollaron funciones para cajas de herramientas. [26]

Desde 1993 existen alternativas de código abierto: GNU Octave (mayormente compatible con Matlab) y scilab (similar a Matlab).

Desarrollo comercial

MATLAB se lanzó por primera vez como producto comercial en 1984 en la Conferencia de Control Automático en Las Vegas . [25] [26] MathWorks , Inc. se fundó para desarrollar el software [30] y se lanzó el lenguaje de programación MATLAB. [28] La primera venta de MATLAB fue el año siguiente, cuando Nick Trefethen del Instituto Tecnológico de Massachusetts compró diez copias. [26] [33]

A finales de la década de 1980, se habían vendido cientos de copias de MATLAB a universidades para uso estudiantil. [26] El software se popularizó en gran medida gracias a las cajas de herramientas creadas por expertos en varios campos para realizar tareas matemáticas especializadas. [29] Muchas de las cajas de herramientas se desarrollaron como resultado de los estudiantes de Stanford que usaron MATLAB en el ámbito académico y luego llevaron el software con ellos al sector privado. [26]

Con el tiempo, MATLAB fue reescrito para los primeros sistemas operativos creados por Digital Equipment Corporation , VAX , Sun Microsystems y para PC Unix. [26] [28] La versión 3 se lanzó en 1987. [34] El primer compilador de MATLAB fue desarrollado por Stephen C. Johnson en la década de 1990. [28]

En 2000, MathWorks agregó una biblioteca basada en Fortran para álgebra lineal en MATLAB 6, reemplazando las subrutinas LINPACK y EISPACK originales del software que estaban en C. [28] La caja de herramientas de computación paralela de MATLAB se lanzó en la Conferencia de Supercomputación de 2004 y se le agregó soporte para unidades de procesamiento de gráficos (GPU) en 2010. [28]

Historia reciente

En la versión 8 de 2012 se realizaron algunos cambios especialmente importantes en el software. [35] Se modificó la interfaz de usuario [ cita requerida ] y se amplió la funcionalidad de Simulink . [36] En 2016, MATLAB había introducido varias mejoras técnicas y de interfaz de usuario, incluido el cuaderno MATLAB Live Editor y otras características. [28]

Sintaxis

La aplicación MATLAB está construida en torno al lenguaje de programación MATLAB. El uso habitual de la aplicación MATLAB implica el uso de la "Ventana de comandos" como un shell matemático interactivo o la ejecución de archivos de texto que contienen código MATLAB. [37]

Ejemplo de "¡Hola mundo!"

Existe un ejemplo de un programa "¡Hola, mundo!" en MATLAB.

disp ( '¡Hola, mundo!' )

Se muestra así:

¡Hola Mundo!

Variables

Las variables se definen utilizando el operador de asignación, =. MATLAB es un lenguaje de programación de tipado débil porque los tipos se convierten implícitamente. [38] Es un lenguaje de tipado inferido porque las variables se pueden asignar sin declarar su tipo, excepto si se las va a tratar como objetos simbólicos, [39] y su tipo puede cambiar. Los valores pueden provenir de constantes , de cálculos que involucran valores de otras variables o de la salida de una función. Por ejemplo:

>> x = 17 x = 17  >> x = 'sombrero' x = sombrero  >> x = [ 3 * 4 , pi / 2 ] x =  12.0000 1.5708   >> y = 3 * sen ( x ) y =  -1.6097 3.0000  

Vectores y matrices

Una matriz simple se define utilizando la sintaxis de dos puntos: inicial :incremento :terminador . Por ejemplo:

>> matriz = 1 : 2 : 9 matriz = 1 3 5 7 9  

define una variable denominada array(o asigna un nuevo valor a una variable existente con el nombre array) que es una matriz que consta de los valores 1, 3, 5, 7 y 9. Es decir, la matriz comienza en 1 (el valor inicial ), se incrementa con cada paso desde el valor anterior en 2 (el valor de incremento ) y se detiene una vez que alcanza (o está a punto de superar) 9 (el valor del terminador ).

El valor de incremento se puede omitir de esta sintaxis (junto con uno de los dos puntos) para utilizar un valor predeterminado de 1.

>> ari = 1 : 5 ari = 1 2 3 4 5  

asigna a la variable nombrada ariuna matriz con los valores 1, 2, 3, 4 y 5, ya que se utiliza el valor predeterminado de 1 como incremento.

La indexación se basa en uno, [40] que es la convención habitual para matrices en matemáticas, a diferencia de la indexación basada en cero que se usa comúnmente en otros lenguajes de programación como C, C++ y Java.

Las matrices se pueden definir separando los elementos de una fila con un espacio en blanco o una coma y utilizando un punto y coma para separar las filas. La lista de elementos debe estar rodeada por corchetes []. Los paréntesis ()se utilizan para acceder a elementos y submatrices (también se utilizan para indicar una lista de argumentos de una función).

>> A = [ 16 , 3 , 2 , 13 ; 5 , 10 , 11 , 8 ; 9 , 6 , 7 , 12 ; 4 , 15 , 14 , 1 ] A = 16 3 2 13  5 10 11 8  9 6 7 12  4 15 14 1                    >> A ( 2 , 3 ) respuesta = 11

Los conjuntos de índices se pueden especificar mediante expresiones como 2:4, que se evalúa como [2, 3, 4]. Por ejemplo, una submatriz tomada de las filas 2 a 4 y las columnas 3 a 4 se puede escribir como:

>> A ( 2 : 4 , 3 : 4 ) respuesta = 11 8 7 12 14 1

Se puede generar una matriz identidad cuadrada de tamaño neye utilizando la función , y se pueden generar matrices de cualquier tamaño con ceros o unos con las funciones zerosy ones, respectivamente.

>> ojo ( 3 , 3 ) respuesta = 1 0 0 0 1 0 0 0 1>> ceros ( 2 , 3 ) respuesta = 0 0 0 0 0 0>> unos ( 2 , 3 ) respuesta = 1 1 1 1 1 1

La transposición de un vector o una matriz se realiza mediante la función transposeo agregando punto-prima después de la matriz (sin el punto, prima realizará la transposición conjugada para matrices complejas):

>> A = [ 1 ; 2 ], B = A . ' , C = transpuesta ( A ) A =  1  2 B =  1 2 C =  1 2          >> D = [ 0 , 3 ; 1 , 5 ] , D. ' D =  0 3  1 5 respuesta =  0 1  3 5       

La mayoría de las funciones aceptan matrices como entrada y operan elemento por elemento sobre cada elemento. Por ejemplo, mod(2*J,n)multiplicará cada elemento en J por 2 y luego reducirá cada elemento módulo n . MATLAB incluye bucles fory estándar while, pero (como en otras aplicaciones similares como APL y R ), se recomienda usar la notación vectorizada y, a menudo, es más rápido de ejecutar. El siguiente código, extraído de la función magic.m , crea un cuadrado mágico M para valores impares de n (la función MATLAB meshgridse usa aquí para generar matrices cuadradas I y J que contienen ⁠ ⁠ ):

[ J , I ] = malla ( 1 : n ); A = mod ( I + J - ( n + 3 ) / 2 , n ); B = mod ( I + 2 * J - 2 , n ); M = n * A + B + 1 ;                              

Estructuras

MATLAB admite tipos de datos de estructura. [41] Dado que todas las variables en MATLAB son matrices, un nombre más adecuado es "matriz de estructura", donde cada elemento de la matriz tiene los mismos nombres de campo. Además, MATLAB admite nombres de campo dinámicos [42] (búsquedas de campos por nombre, manipulaciones de campos, etc.).

Funciones

Al crear una función de MATLAB, el nombre del archivo debe coincidir con el nombre de la primera función del archivo. Los nombres de funciones válidos comienzan con un carácter alfabético y pueden contener letras, números o guiones bajos. Las variables y funciones distinguen entre mayúsculas y minúsculas. [43]

rgbImage = imread ( 'ecg.png' ); grayImage = rgb2gray ( rgbImage ); % para imágenes no indexadas level = graythresh ( grayImage ); % umbral para convertir la imagen a binaria, binaryImage = im2bw ( grayImage , level ); % Extrae los canales de color rojo, verde y azul individuales. redChannel = rgbImage (:, :, 1 ); greenChannel = rgbImage (:, :, 2 ); blueChannel = rgbImage (:, :, 3 ); % Haz que las partes negras sean de color rojo puro. redChannel ( ~ binaryImage ) = 255 ; greenChannel ( ~ binaryImage ) = 0 ; blueChannel ( ~ binaryImage ) = 0 ; % Ahora recombina para formar la imagen de salida. rgbImageOut = cat ( 3 , canalrojo , canalverde , canalazul ); imshow ( rgbImageOut );                                   

Manijas de funciones

MATLAB admite elementos del cálculo lambda mediante la introducción de identificadores de funciones [44] o referencias de funciones, que se implementan en archivos .m o en funciones anónimas [45] /anidadas. [46]

Clases y programación orientada a objetos

MATLAB admite la programación orientada a objetos , incluidas las clases, la herencia , el envío virtual, los paquetes, la semántica de paso por valor y la semántica de paso por referencia . [47] Sin embargo, la sintaxis y las convenciones de llamada son significativamente diferentes a las de otros lenguajes. MATLAB tiene clases de valor y clases de referencia, dependiendo de si la clase tiene un identificador como superclase (para clases de referencia) o no (para clases de valor). [48]

El comportamiento de la llamada a un método es diferente entre las clases de valor y de referencia. Por ejemplo, una llamada a un método:

objeto . método ();

puede alterar cualquier miembro del objeto solo si el objeto es una instancia de una clase de referencia, de lo contrario los métodos de clase de valor deben devolver una nueva instancia si necesita modificar el objeto.

A continuación se proporciona un ejemplo de una clase sencilla:

classdef Hola métodos función saludo ( obj ) disp ( '¡Hola!' ) fin fin fin       

Cuando se coloca en un archivo llamado hello.m, se puede ejecutar con los siguientes comandos:

>> x = Hola (); >> x . saludar (); ¡Hola!  

Programación de gráficos e interfaz gráfica de usuario

MATLAB tiene funciones de representación gráfica muy integradas. Por ejemplo, la función plot se puede utilizar para generar una gráfica a partir de dos vectores x e y . El código:

x = 0 : pi / 100 : 2 * pi ; y = pecado ( x ); trazar ( x , y )    

produce la siguiente figura de la función seno :

MATLAB también admite gráficos tridimensionales:

MATLAB permite desarrollar aplicaciones con interfaz gráfica de usuario (GUI). [49] Las IU se pueden generar mediante programación o utilizando entornos de diseño visual como GUIDE y App Designer . [50] [51]

MATLAB y otros lenguajes

MATLAB puede llamar a funciones y subrutinas escritas en los lenguajes de programación C o Fortran . [52] Se crea una función contenedora que permite pasar y devolver los tipos de datos de MATLAB. Los archivos MEX (ejecutables de MATLAB) son los archivos de objetos cargables dinámicamente creados al compilar dichas funciones. [53] [54] Desde 2014, se ha ido añadiendo una interfaz bidireccional cada vez mayor con Python . [55] [56]

Las bibliotecas escritas en Perl , Java , ActiveX o .NET pueden ser llamadas directamente desde MATLAB, [57] [58] y muchas bibliotecas MATLAB (por ejemplo, compatibilidad con XML o SQL ) se implementan como envoltorios alrededor de bibliotecas Java o ActiveX. Llamar a MATLAB desde Java es más complicado, pero se puede hacer con una caja de herramientas MATLAB [59] que se vende por separado por MathWorks , o utilizando un mecanismo no documentado llamado JMI (Java-to-MATLAB Interface), [60] [61] (que no debe confundirse con la interfaz de metadatos de Java no relacionada que también se llama JMI). La API oficial de MATLAB para Java se agregó en 2016. [62]

Como alternativa a la caja de herramientas de matemáticas simbólicas basada en MuPAD disponible en MathWorks, MATLAB se puede conectar a Maple o Mathematica . [63] [64]

También existen bibliotecas para importar y exportar MathML . [65]

Relación con las sanciones de EE.UU.

En 2020, MATLAB retiró sus servicios de dos universidades chinas como resultado de las sanciones estadounidenses. Las universidades dijeron que responderían a esto con un mayor uso de alternativas de código abierto y con el desarrollo de alternativas nacionales. [66]

Véase también

Notas

  1. ^ ab "MathWorks anuncia el lanzamiento 2024b de MATLAB y Simulink" . Consultado el 15 de septiembre de 2024 .
  2. ^ "Proteja su código fuente". MathWorks . Consultado el 1 de noviembre de 2019 .
  3. ^ "Compatibilidad de la plataforma MEX". MathWorks . Consultado el 1 de noviembre de 2019 .
  4. ^ "Versiones de archivos MAT". MathWorks . Consultado el 1 de noviembre de 2019 .
  5. ^ "Guardar figura para abrirla nuevamente en MATLAB más tarde". MathWorks . Consultado el 1 de noviembre de 2019 .
  6. ^ "Formato de archivo de código en vivo (.mlx)". MathWorks . Consultado el 1 de noviembre de 2019 .
  7. ^ "MATLAB App Designer". MathWorks . Consultado el 1 de noviembre de 2019 .
  8. ^ "Distribución de la caja de herramientas". MathWorks . Consultado el 1 de noviembre de 2019 .
  9. ^ "Archivo de instalación de la aplicación MATLAB". MathWorks . Consultado el 1 de noviembre de 2019 .
  10. ^ "Instalación de paquetes de soporte". MathWorks . Consultado el 1 de noviembre de 2019 .
  11. ^ "Entrevista con CLEVE MOLER realizada por Thomas Haigh el 8 y 9 de marzo de 2004 en Santa Bárbara, California" (PDF) . Museo de Historia de la Computación. Archivado desde el original (PDF) el 27 de diciembre de 2014. Consultado el 6 de diciembre de 2016. APL, Speakeasy, LINPACK, EISPACK y PL0 fueron los predecesores de MATLAB.
  12. ^ Bezanson, Jeff; Karpinski, Stefan; Shah, Viral; Edelman, Alan (14 de febrero de 2012). "Por qué creamos a Julia". Julia Language . Consultado el 1 de diciembre de 2016 .
  13. ^ Eaton, John W. (21 de mayo de 2001). «Octave: Past, Present, and Future» (PDF) . Consorcio de modelado y control de Texas-Wisconsin . Archivado desde el original (PDF) el 9 de agosto de 2017. Consultado el 1 de diciembre de 2016 .
  14. ^ "Historia". Scilab. Archivado desde el original el 1 de diciembre de 2016. Consultado el 1 de diciembre de 2016 .
  15. ^ SM Rump: INTLAB – INTerval LABoratory. En Tibor Csendes, editor, Developments in Reliable Computing, páginas 77–104. Kluwer Academic Publishers, Dordrecht, 1999.
  16. ^ Moore, RE, Kearfott, RB y Cloud, MJ (2009). Introducción al análisis de intervalos. Sociedad de Matemáticas Industriales y Aplicadas .
  17. ^ Rump, SM (2010). Métodos de verificación: resultados rigurosos utilizando aritmética de punto flotante. Acta Numerica , 19, 287–449.
  18. ^ Hargreaves, GI (2002). Análisis de intervalos en MATLAB. Algoritmos numéricos, (2009.1).
  19. ^ "La membrana en forma de L". MathWorks. 2003. Consultado el 7 de febrero de 2014 .
  20. ^ "Requisitos del sistema y disponibilidad de la plataforma". MathWorks . Consultado el 14 de agosto de 2013 .
  21. ^ "Hoja de ruta de la plataforma para las familias de productos MATLAB y Simulink". de.mathworks.com . Consultado el 22 de diciembre de 2021 .
  22. ^ "Matrices y arreglos: MATLAB y Simulink". www.mathworks.com . Consultado el 21 de mayo de 2022 .
  23. ^ The MathWorks (febrero de 2020). "Descripción general de la empresa" (PDF) .
  24. ^ "Número actual de usuarios de Matlab en todo el mundo". Mathworks . 9 de noviembre de 2017 . Consultado el 26 de abril de 2023 .
  25. ^ abcdefgh Chonacky, N.; Winch, D. (2005). "Reseñas de Maple, Mathematica y Matlab: Próximamente en una publicación cercana a usted". Computing in Science & Engineering . 7 (2). Instituto de Ingenieros Eléctricos y Electrónicos (IEEE): 9–10. Bibcode :2005CSE.....7b...9C. doi :10.1109/mcse.2005.39. ISSN  1521-9615. S2CID  29660034.
  26. ^ abcdefgh Haigh, Thomas. "Cleve Moler: pionero del software matemático y creador de Matlab" (PDF) . IEEE Annals of the History of Computing . IEEE Computer Society.
  27. ^ "Una breve historia de MATLAB". www.mathworks.com . Consultado el 4 de septiembre de 2021 .
  28. ^ abcdefg Moler, Cleve; Little, Jack (12 de junio de 2020). "Una historia de MATLAB". Actas de la ACM sobre lenguajes de programación . 4 (HOPL). Association for Computing Machinery (ACM): 1–67. doi : 10.1145/3386331 . ISSN  2475-1421.
  29. ^ ab Xue, D.; Prensa, TU (2020). Programación MATLAB: soluciones de problemas matemáticos. STEM de Gruyter. De Gruyter. pag. 21.ISBN 978-3-11-066370-9. Recuperado el 16 de septiembre de 2020 .
  30. ^ ab Press, CRC (2008). Solución de problemas matemáticos aplicados con MATLAB. CRC Press. pág. 6. ISBN 978-1-4200-8251-7. Recuperado el 16 de septiembre de 2020 .
  31. ^ Woodford, C.; Phillips, C. (2011). Métodos numéricos con ejemplos resueltos: edición Matlab. SpringerLink : Bücher. Springer Netherlands. p. 1. ISBN 978-94-007-1366-6. Recuperado el 16 de septiembre de 2020 .
  32. ^ Tranquillo, JV (2011). MATLAB para ingeniería y ciencias de la vida. Biblioteca digital de síntesis de ingeniería y ciencias de la computación. Morgan & Claypool Publishers. ISBN 978-1-60845-710-6. Recuperado el 17 de septiembre de 2020 .
  33. ^ LoTurco, Lori (28 de enero de 2020). «Acelerando el ritmo de la ingeniería». MIT News . Instituto Tecnológico de Massachusetts . Consultado el 16 de septiembre de 2020 .
  34. ^ Gatto, Marino; Rizzoli, Andrea (1993). "Revisión de MATLAB, versión 4.0". Modelado de recursos naturales . 7 (1). Wiley: 85–88. Código Bibliográfico :1993NRM.....7...85G. doi :10.1111/j.1939-7445.1993.tb00141.x. ISSN  0890-8575.
  35. ^ Cho, MJ; Martinez, WL (2014). Estadística en MATLAB: una introducción. Chapman & Hall/CRC Computer Science & Data Analysis. CRC Press. ISBN 978-1-4665-9657-3. Recuperado el 17 de septiembre de 2020 .
  36. ^ Xue, D.; Chen, Y. (2013). Técnicas de simulación de sistemas con MATLAB y Simulink. Ya no se utiliza. Wiley. p. 17. ISBN 978-1-118-69437-4. Recuperado el 15 de octubre de 2020 .
  37. ^ "Documentación de MATLAB". MathWorks . Consultado el 14 de agosto de 2013 .
  38. ^ "Comparación de MATLAB con otros lenguajes OO". MATLAB . MathWorks . Consultado el 14 de agosto de 2013 .
  39. ^ "Crear variables y expresiones simbólicas". Caja de herramientas de matemáticas simbólicas . MathWorks . Consultado el 14 de agosto de 2013 .
  40. ^ "Indexación de matrices". MathWorks . Consultado el 14 de agosto de 2013 .
  41. ^ "Estructuras". MathWorks . Consultado el 14 de agosto de 2013 .
  42. ^ "Generar nombres de campos a partir de variables". MathWorks . Consultado el 14 de agosto de 2013 .
  43. ^ "Sensibilidad entre mayúsculas y minúsculas". MathWorks . Consultado el 1 de noviembre de 2019 .
  44. ^ "Identificadores de funciones". MathWorks . Consultado el 14 de agosto de 2013 .
  45. ^ "Funciones anónimas". MathWorks . Consultado el 14 de agosto de 2013 .
  46. ^ "Funciones anidadas". MathWorks.
  47. ^ "Programación orientada a objetos". MathWorks . Consultado el 14 de agosto de 2013 .
  48. ^ "Comparación de clases de identificador y de valor". MathWorks.
  49. ^ "MATLAB GUI". MathWorks. 30 de abril de 2011. Consultado el 14 de agosto de 2013 .
  50. ^ "Crear una GUI GUIDE sencilla". MathWorks . Consultado el 14 de agosto de 2014 .
  51. ^ "MATLAB App Designer". MathWorks . Consultado el 1 de noviembre de 2019 .
  52. ^ "Interfaces de programación de aplicaciones para MATLAB". MathWorks. Archivado desde el original el 15 de septiembre de 2017. Consultado el 14 de agosto de 2013 .
  53. ^ "Crear archivos MEX". MathWorks. Archivado desde el original el 3 de marzo de 2014. Consultado el 14 de agosto de 2013 .
  54. ^ Spielman, Dan (10 de febrero de 2004). "Connecting C and Matlab". Yale University, Computer Science Department . Consultado el 20 de mayo de 2008 .
  55. ^ "MATLAB Engine for Python". MathWorks . Consultado el 13 de junio de 2015 .
  56. ^ "Llamar a bibliotecas de Python". MathWorks . Consultado el 13 de junio de 2015 .
  57. ^ "Interfaces de lenguaje de programación externo". MathWorks. Archivado desde el original el 11 de marzo de 2014. Consultado el 14 de agosto de 2013 .
  58. ^ "Llamar a un script de Perl utilizando el ejecutable del sistema operativo apropiado". MathWorks . Consultado el 7 de noviembre de 2013 .
  59. ^ "MATLAB Builder JA". MathWorks . Consultado el 7 de junio de 2010 .
  60. ^ Altman, Yair (14 de abril de 2010). «Interfaz de Java a Matlab». Matlab no documentado. Archivado desde el original el 5 de septiembre de 2015. Consultado el 7 de junio de 2010 .
  61. ^ Kaplan, Josué. "matlabcontrolJMI".
  62. ^ "API de MATLAB Engine para Java". MathWorks . Consultado el 15 de septiembre de 2016 .
  63. ^ Germundsson, Roger (30 de septiembre de 1998). "MaMa: Llamar a MATLAB desde Mathematica con MathLink". Wolfram Research . Archivo de la Biblioteca Wolfram.
  64. ^ rsmenon; szhorvat (2013). «MATLink: Comuníquese con MATLAB desde Mathematica» . Consultado el 14 de agosto de 2013 .
  65. ^ Weitzel, Michael (1 de septiembre de 2006). "Importación/exportación de MathML". MathWorks - Intercambio de archivos. Archivado desde el original el 25 de febrero de 2011. Consultado el 14 de agosto de 2013 .
  66. ^ "La prohibición militar estadounidense impide a dos universidades chinas acceder a un software popular". South China Morning Post . 12 de junio de 2020 . Consultado el 6 de noviembre de 2020 .

Lectura adicional

Enlaces externos