Matlab en delphi
Hola amigos, aqui con una pregunta, como puedo usar Matlab en Delphi, es decir temer un .m de matlab y que arroje resultados en Delphi, gracias.
|
No lo hice pero mas o menos te doy una idea de como lo haria.
1. Crea un archivo .m que escriba los resultados que te interesen en un archivo de texto. 2. Al final del archivo asegurate de tener el comando "quit" 3 .Luego llama a Matlab pasando el parametro "-r NombreArchivo.m". 4. Espera a que el proceso termine 5. Lee el archivo que escribiste. Posiblemente existan otras soluciones que desconozco, pero puedes empezar con esto. |
Puedes aparte pasarle otros parametros para que sea mas rapido el asunto como:
-nojvm para que no cargue toda la interface de java -nosplash para que no muestre la ventana splash -minimize para que inicie minimizado |
Comentandolo con un compañero de trabajo me comento que existe otra forma, que es utilizando componentes COM atraves del archivo mlapp.tlb.
Mas info google :D |
1 Archivos Adjunto(s)
Hola,
Eso es un ejemplo de usar Matlab en Delphi segun COM. |
Gracias amigos por sus respuestas, osea que lo unico que hace el ejemplo es mandar llamar el programa hecho en Matlab de esta forma:
// Set Current Directory MatlabServer.Execute('cd( ''C:\Program Files\MATLAB\R2007\work'' );'); // Execute test.m MatlabServer.Execute('test;'); ??? Y en si lo que ocupo amigos es por ejemplo vi que en Matlab puedo crear un .exe del programa que se ha realizado en Matlab entonces, con una aplicacion en Delphi mandarla llamar y se este ejecutando sin tener que llamar el .m de matlab ya que se llamara el .exe, gracias. |
Cita:
Cita:
|
Hola,
>ronald_tro >// Execute test.m >MatlabServer.Execute('test;'); >??? Yo no se cual es el nombre de tu m-file y donde esta localizado. Por ejemplo yo tomó mis directorio y file. Necesitas cambiarlos por tus valores apropiados. ?Otras botones (magic cuadrado, calculacion de espectro) funcionan normalmente? >Crandel Gracias |
Amigo Crandel estuve viendo lo que comentaste y al parecer si debe de funcionar, voy a ahcer unas pruebas y ya luego comento, amigo rounin con la instruccion que dices mando llamar el .exe. ahora, no entiendo tu pregunta, gracias.
|
Cita:
|
No he entendido esencia de tu dificultad.
(Mi espanol es no muy bueno) Sobre crear exe de m-file Por ejemplo, tenemos test funcion en test.m. (Matlab compiler puede compilar solo funciones) Código:
mcc -m -B sgl -I "C:\Program Files\MATLAB\R2007\toolbox\signal\signal" test.m o simplemente mcc -m test.m Para posibilidad de ejecutar este exe-file en un ordernador sin Matlab, necesitas instalar Matlab Run-Time. (mglinstaller.exe en Matlab6.5, MCRInstaller.exe en Matlab2007R etc - mira el Help) De Delphi puedes ejecutar este exe-file y obtener resultados por medio de archivo.
|
Oops, duplicado
|
Ok amigo rounin, entonces asi como lo pones el ejemplo le asignas el resultado a un .dat? o en delphi creas la funcion que se hizo en matlab y se ejecuta el programa (en Delphi) con el MatlabCompiler?,
Amigo Crandel es asi como lo dices tu?, porque en el enlace que pusiste me llava MatlabCompiler 4.10, entonces hablando en general instalo MatlabCompiler y al llamar el archivo de matlab ejecutable lo debe de ejecutar que no?, o me equivoco?, gracias. |
Cita:
En realidad yo no me encargaba de esta parte, ya habia un grupo que armo todo antes que yo entre. Pero la idea es esa, puedes hacer la compilación por linea de comando como escribio rounin o puedes hacerlo con una pequeña interfase que trae matlab, que se ejecuta con la sentencia Código:
deploytool |
La franja horaria es GMT +2. Ahora son las 21:18:28. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi