Matlab - Llamar a una funcion de Matlab desde VB

 
Vista:

Llamar a una funcion de Matlab desde VB

Publicado por patricia (13 intervenciones) el 17/11/2011 14:13:26
Hola!
era una consulta sencilla, me gustaria saber si seria posible llamar a diversas funciones creadas en MATLAB desde Visual Basic y asi poder manejarlas desde Visual Basic???
Espero respuesta,
Un saludo
Patricia
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 Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Llamar a una funcion de Matlab desde VB

Publicado por Dave (1094 intervenciones) el 17/11/2011 16:19:10
Hola Patricia;

Hasta hace algun tiempo programaba en Visual Basic, y lograba ejecutar cualquier codigo matlab o usar sus funciones, la forma de hacerlo es la siguiente:

Primero debes hacer referencia a la libreria de matlab haciendo click enel menu proyecto-referencias y buscas donde diga matlab (obviamente debe estar instalado el malab).

Dim Matlab As Object
Dim Vari As String
Dim Resultado As String
Dim Res As Integer
Genie.Play "Processing"
Set Matlab = CreateObject("Matlab.Application")
Matlab.Execute ("syms S;")
Vari = "ilaplace(" + TxtNumerador.Text + "/(" + TxtComunDivisor.Text + "))"
TxtSol.Text = Matlab.Execute(Vari)

Este ejemplo ejecuta la transformada inversa de laplace.

Espero que sea de alguna ayuda.

Saludos
Dave Correa
[email protected]
http://fismatlab.blogspot.com/
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

Llamar a una funcion de Matlab desde VB

Publicado por jaime (4 intervenciones) el 08/12/2011 18:36:37
La verdad es que no veo tan inmediato lo de añadir la librería de matlab como referencia.
¿Dónde está mi error?
Voy a Project\Add Reference elijo la pestaña Browse y elija la dll o el exe que elija obtengo el mensaje: ".... Please make sure that the file is accessible, and that it is a valid assembly or COM component"
Tanto las dll's como el exe los estoy eligiendo de \Program Files\MATLAB...

Gracias por vuestras aportaciones.
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

Llamar a una funcion de Matlab desde VB

Publicado por jaime (4 intervenciones) el 08/12/2011 20:33:04
Vale. Encuentro las librerías de MatLab en la pestaña COM.
Pero el edito de código tampoco me ayuda mucho a encontrar funciones de MatLab...
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

Llamar a una funcion de Matlab desde VB

Publicado por jaime (4 intervenciones) el 09/12/2011 18:43:36
Venga, una ayudita, please:

Vamos a suponer que quiero sumar dos enteros en MatLab

Dim MatLab As Object
Dim Result As String
Dim b As Integer

MatLab = CreateObject("Matlab.Application")

Result = MatLab.Execute("a = 1")
Result = MatLab.Execute("b = a + a ")

'Obtener b desde MatLab
MatLab.????????("b", b)

¿Qué función utilizo y cómo para traerme el resultado?
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

Llamar a una funcion de Matlab desde VB

Publicado por jaime (4 intervenciones) el 09/12/2011 19:01:15
Vale, creo que lo voy pillando:

Matlab.Execute ("syms S;")
Result = "una cadena, está claro"
b = MatLab.Execute(Result)

Gracias.
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

Llamar a una funcion de Matlab desde VB

Publicado por JL (1 intervención) el 16/01/2013 20:02:55
Saludos



he probado con éxito lo que aquí comentan, quisiera preguntar si hay una manera que además de que ejecute la instrucción en matlab este permanezca abierto después de la ejecución.

Muchas Gracias
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