Matlab - ¿Se puede activar una gráfica en concreto?

   
Vista:

¿Se puede activar una gráfica en concreto?

Publicado por Xabier (3 intervenciones) el 24/04/2014 20:22:48
Hola

Estoy haciendo un programa en Matlab, pero tengo una duda y no sé si se puede hacer (espero que sí):

tengo este código:

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
tic
if lectura(1)=='G'
 
    % parámetros de medidas
    t_galmax = 10; % tiempo de captura en s
    gal_rate = 6; % resultado experimental (comprobar)
 
 % inicializar
%    v =  zeros(3,t_galmax*gal_rate);
    vconductancia=zeros(1,t_galmax*gal_rate);
    vresistencia=zeros(1,t_galmax*gal_rate);
    vtension=zeros(1,t_galmax*gal_rate);
   i_gal = 1;
   t_gal = 0;
 
   % ejecutar bucle cronometrado
   tic
    while ne(lectura(1), 'P')
    t_gal = toc;
    % leer del puerto serie
    [lectura, cont]=fscanf(pserie);
 
    if ne(lectura(1), 'P')
         vconductancia(1,i_gal)=str2num([lectura]);
         [lectura, cont]=fscanf(pserie);
         vresistencia(1,i_gal)=str2num([lectura]);
         [lectura, cont]=fscanf(pserie);
         vtension(1,i_gal)=str2num([lectura]);
 
    % dibujar en la figura
        f_temp1= figure(4);
        set(f_temp1,'Name','GSR');
        set(f_temp1,'pos',[475 375 200 200]);
        a_temp= axes('XLim',[0 t_galmax],'YLim',[-1.5 2]);
        title('Conductividad');
        xlabel('Tiempo (s)');
        l1 = line(nan,nan,'Color','r','LineWidth',2);
        grid on
        x = linspace(0,i_gal/gal_rate,i_gal);
%          set(l1,'YData',v1_condu(1:i_gal),'XData',x);
        set(l1,'YData',vconductancia(1:i_gal),'XData',x);
        drawnow
 
 
        f_temp2= figure(5);
        set(f_temp2,'Name','GSR');
        set(f_temp2,'pos',[700 375 200 200]);
        a_temp2= axes('XLim',[0 t_galmax],'YLim',[0 5]);
        title('Resistencia');
        xlabel('Tiempo (s)');
        l1 = line(nan,nan,'Color','r','LineWidth',2);
        grid on
        x = linspace(0,i_gal/gal_rate,i_gal);
        set(l1,'YData',vconductancia(1:i_gal),'XData',x);
        drawnow
 
 
         f_temp3= figure(6);
         set(f_temp3,'Name','GSR');
         set(f_temp3,'pos',[925 375 200 200]);
         a_temp3= axes('XLim',[0 t_galmax],'YLim',[-5 5]);
         title('Tensión')
         xlabel('Tiempo (s)');
         l1 = line(nan,nan,'Color','r','LineWidth',2);
         grid on
         x = linspace(0,i_gal/gal_rate,i_gal);
         set(l1,'YData',vtension(1:i_gal),'XData',x);
         drawnow
      % seguir
    i_gal = i_gal+1;
   end %fin del if ne(lectura(1), 'P')
   end %fin del while ne(lectura(1), 'p')
end  %fin del if lectura(1)=='G'

Explico el código:

Se leen una serie de datos vía serie que se deben representar en 3 gráficas diferentes, el problema lo tengo en que dentro del IF debo poner los parámetros de las gráficas para que cada valor se grafique en su grafica correspondiente, la pregunta es la sigueinte:

¿Se podría definir los parámetros de las gráficas fuera del IF, y dentro del mismo poder decir donde se deben representar los valores?

Saludos y gracias por vuestro tiempo
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