Matlab - Lanzar un hilo en matlab

 
Vista:

Lanzar un hilo en matlab

Publicado por oscar (6 intervenciones) el 21/11/2017 15:17:26
Hola estoy programando una interface en matlab para realizar el control de un variador de corriente alterna y la representacion de los datos obtenidos del mismo.

mi pregunta es si hay alguna manera para que se sigan añadiendo valores a mi grafica sin bloquear la interface grafica


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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Lanzar un hilo en matlab

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 21/11/2017 23:35:29
puedes utilizar hold on y plotear los datos faltantes, o puedes agregar los datos faltantes en el vector y volver a plotear pero para que puedas ir visualizando debes hacer una pequeña pausa, mira este ejemplo :

1
2
3
4
5
6
7
figure
a=[];
for k=1:200
   a(k)=randi(5,1,1);
   plot(a)
   pause(0.03)
end
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

Lanzar un hilo en matlab

Publicado por oscar (6 intervenciones) el 22/11/2017 11:38:40
El codigo que utilizo para la lectura del sensor es el siguiente :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function capturaDeDatos (handles)
global a;
global encendido;
valores = [];
tiempo=[];
contador = 1;
while encendido
   axes =( handles.revoluciones);
   valores(contador)= readVoltage(a,'A0');
   tiempo(contador)= contador;
   plot(contador,valores,'red','LineWidth', 2.5)
   disp(valores(contador));
   disp (tiempo(contador));
   pause (0.98);
   contador = contador +1;
end

La variable global a es una instancia de mi arduino que utilizo como tarjeta de adquisicion de datos.
La variable global encendido solo adquiere valor 1 o 0 para saber si se esta ejecutando o no el modelo.


Mi problema es que la grafica no dibuja nada pero los ejes si modifican el valor dependiendo del valor del sensor.


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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Lanzar un hilo en matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/11/2017 13:55:08
1
plot(tiempo,valores,'red','LineWidth', 2.5)




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function varargout = graficar_un_hilo(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @graficar_un_hilo_OpeningFcn, ...
                   'gui_OutputFcn',  @graficar_un_hilo_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function graficar_un_hilo_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = graficar_un_hilo_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function revoluciones_Callback(hObject, eventdata, handles)
'hola'
global a;
global encendido;
encendido=20;
valores = [];
tiempo=[];
datos=100*rand(1,100);
contador = 1;
%hold on
while encendido>1
   %axes(handles.revoluciones);
   %valores(contador)= readVoltage(a,'A0');
   valores(contador)=datos(contador)
   tiempo(contador)= contador;
   plot(tiempo,valores,'red','LineWidth', 2.5)
%    disp(valores(contador));
%    disp (tiempo(contador));
   pause (0.1);
   contador = contador +1;
   encendido=encendido-1;
end
%hold off


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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

Lanzar un hilo en matlab

Publicado por oscar (6 intervenciones) el 23/11/2017 08:08:00
ya lo he solucionado gracias por la ayuda
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