Matlab - vb con matlab

 
Vista:

vb con matlab

Publicado por jordi (1 intervención) el 12/04/2002 06:01:05
soy un ateo en esto del matlab y para el proyecto necesito llamar al matlab desde el visual basic, si alguien sabe como hacerlo, me seria de gran ayuda. Me han dicho algo de archivos dll y crear ejecutables, pero tampoco se como hacerlo. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Llamando a Matlab desde Visual Basic

Publicado por Alejandro (145 intervenciones) el 05/10/2023 00:47:33
Llamar a Matlab desde Visual Basic puede realizarse mediante la creación de un archivo DLL (Dynamic Link Library) o utilizando la interfaz COM de Matlab. A continuación, te proporciono una guía básica para ambas opciones:

Opción 1: Crear una DLL



1. Desarrolla tu función en Matlab:
- Escribe tu función en Matlab y guárdala en un archivo `.m`. Por ejemplo, supongamos que tienes una función llamada `miFuncion` en un archivo `miFuncion.m`.

2. Convierte la función a un archivo `.dll`:
- Utiliza el comando `mcc` (Matlab Compiler) para convertir tu función en un archivo `.dll`. Abre Matlab y ejecuta:

1
mcc -W lib:miLib -T link:lib miFuncion.m

Esto generará una biblioteca compartida llamada `miLib.dll`.

3. Llama a la DLL desde Visual Basic:
- En tu proyecto de Visual Basic, utiliza la función `Declare` para acceder a las funciones de la DLL. Por ejemplo:

1
Declare Function miFuncion Lib "miLib.dll" () As Double

Luego puedes llamar a `miFuncion` en tu código de Visual Basic.

Opción 2: Utilizar la interfaz COM de Matlab



1. Crear un objeto Matlab:
- En tu proyecto de Visual Basic, crea un objeto Matlab usando la interfaz COM.

1
2
Dim Matlab As Object
Set Matlab = CreateObject("Matlab.Application")

2. Ejecutar comandos de Matlab:
- Puedes ejecutar comandos de Matlab usando el objeto que has creado.

1
Matlab.Execute ("miResultado = miFuncion()")

3. Recuperar resultados:
- Puedes obtener resultados usando la función `GetVariable`.

1
2
Dim resultado As Double
resultado = Matlab.GetVariable("miResultado")

Recuerda ajustar las rutas y nombres de archivos según tu configuración específica.

Ambos enfoques tienen sus pros y contras, y la elección dependerá de la complejidad de tu proyecto y tus preferencias. Si solo necesitas llamar a funciones específicas, la interfaz COM puede ser más sencilla. Si necesitas más flexibilidad y encapsulamiento, la creación de DLL podría ser más adecuada.

Espero que esta guía te sea de utilidad. ¡Buena suerte con tu proyecto, Jordi!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar