
¿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:
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
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


0