Matlab - Como enviar un vector a MatLab

 
Vista:

Como enviar un vector a MatLab

Publicado por Cristian Rodríguez (1 intervención) el 24/03/2005 18:43:54
Gracias a esta respuesta pude ver q se puede enlazar VB con MatLab pero ahora quiero ejecutar la funcion fft (Transformada de Fourier) pero el argumento es un vector como puedo enviar un vector desde Visual Basic a MatLab???
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

Enviar un vector desde Visual Basic a Matlab para FFT

Publicado por Alejandro (145 intervenciones) el 06/10/2023 19:47:44
Cristian, para enviar un vector desde Visual Basic (VB) a Matlab para su procesamiento con la función `fft`, puedes utilizar la interfaz de Automation de Matlab (COM) desde VB. Aquí hay un ejemplo básico de cómo puedes hacerlo:

1. En Matlab:
- Asegúrate de que el servidor COM de Matlab esté habilitado. Puedes hacerlo ejecutando `matlab -automation` en la línea de comandos de Matlab.

2. En Visual Basic:
- Abre tu proyecto VB.
- Agrega una referencia a `Matlab Application` desde `Project -> References`.

3. Código en VB:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim Matlab As Object
Matlab = CreateObject("Matlab.Application")
 
' Vector de ejemplo en VB
Dim vectorVB() As Double = {1.0, 2.0, 3.0, 4.0, 5.0}
' Enviar el vector a Matlab
Matlab.PutFullMatrix("vectorMatlab", "base", vectorVB)
 
' Ejecutar la función fft en Matlab
Matlab.Execute("resultado = fft(vectorMatlab);")
' Obtener el resultado de vuelta desde Matlab
Dim resultado() As Double
Matlab.GetFullMatrix("resultado", "base", resultado)
 
' Imprimir el resultado
For Each valor In resultado
    Debug.Print(valor)
Next

Este código crea una instancia de Matlab desde VB, envía el vector a Matlab usando `PutFullMatrix`, ejecuta la función `fft`, y luego recupera el resultado con `GetFullMatrix`.

Asegúrate de que la longitud del vector enviado a Matlab coincida con tus necesidades para la transformada de Fourier. Este es solo un ejemplo básico, y podrías necesitar ajustarlo según tu aplicación específica.
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