Red de conocimiento informático - Material del sitio web - Cómo usar VB para llamar la imagen obtenida mediante la programación de MATLAB y mostrar la imagen en la interfaz del formulario VB

Cómo usar VB para llamar la imagen obtenida mediante la programación de MATLAB y mostrar la imagen en la interfaz del formulario VB

Hablemos de ello a grandes rasgos:

Utilice vb para llamar al servidor de automatización de matlab.

1) Deje que matlab se convierta en una aplicación de vb

2) Ejecutar el programa de dibujo correspondiente.

3) Dado que la imagen dibujada está en la memoria, VB tiene un comando que puede llamar al portapapeles y obtener directamente la imagen del portapapeles.

4) En VB, asigne los datos de imagen obtenidos al control de imagen.

Dé un ejemplo:

El código es el siguiente:

Private?Sub?Form_Load()

Set?MATLAB?= ?CreateObject( "Matlab.application")

MATLAB.execute?("N=1024; n=0:N-1; t=n/12800; q=n*12800/1024; w= 2*pi *50;")

MATLAB.execute?("x=220*cos(w*t 0.42) 10*cos(3*w*t 0.8) 5*cos(5*w *t 0.4 ) 3*cos(7*w*t 0.65) 2*cos(9*w*t 0.3) 1.8*cos(11*w*t 0.36);")

MATLAB.execute ?(" set(gcf,'visible','off'),plot(t,x,'b');axis();grid?on;xlabel('tiempo/S');ylabel('amplitud/V ') ;")

MATLAB.execute?("title('señal original'); set(gcf, 'color', 'w'); print(gcf, '-dmeta')")

sinwave.Picture?=?Clipboard.GetData()

MATLAB.execute?("y=fft(x);set(gcf,'visible','off') ;bar (q(1:48), 2*abs(y(1:48))/N); xlabel('frecuencia/Hz');")

MATLAB.execute?("grid ?on ;set(gcf,'color','w');set(gca,'XTickMode','manual','XTick',);print(gcf,'-dmeta');")

spectrumwave.Picture?=?Clipboard.GetData()

End?Sub

Explicación del código:

sinwave.Picture?=?Clipboard.GetData ( )

El lado izquierdo es el control de imagen de VB y el lado derecho es para obtener los datos del portapapeles y mostrarlos en VB.

Hay dos controles de imagen en este ejemplo: sinwave.Picture, espectrowave.Picture.