Matlab - funcionamiento scroll

   
Vista:

funcionamiento scroll

Publicado por Irene (23 intervenciones) el 31/03/2012 14:35:55
Hola a todos!
se me plantea una duda a la hora de programar el tipico scroll. Creo que la función esta más o menos correcta pero a la hora de desplazar el scroll no funciona correctamente, creo que el fallo está en la determinación de "Newpos".

Lo único que quiero hacer con la función es mediante el desplazamiento del scroll, recorrer el seno de arriba abajo.

Muchas gracias, espero vuestra ayuda.

t=10;
fs=100;
t1=[0:1/fs:t];

y1=sin(t1);


dy=1;
a=gca;
p=plot(t1,y1);



set(gcf, 'doublebuffer', 'on');
set(a, 'Ylim', [-1 dy]);
set (a, 'Xlim', [0 10]);

pos=get(a, 'position')

Newpos= [pos(1) pos(2) 0.05 pos(4)]
ymax=dy;

S=['set(gca, ''ylim'', get (gcbo, ''value'')+[0 num2str(dy)])'];

h=uicontrol('style', 'slider',...
'units', 'normalized', 'position', Newpos,...
'callback', S, 'min', -2, 'max',ymax-dy);
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

funcionamiento scroll

Publicado por gerardo (95 intervenciones) el 01/04/2012 21:25:34
Hola Irene!

Bueno al parecer el problema era el S:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clear all; clc
t=10;
fs=100;
t1=0:1/fs:t;
y1=sin(t1);
dy=1;
a=gca;
p=plot(t1,y1);
set(gcf, 'doublebuffer', 'on');
set(a, 'Ylim', [-1 dy]);
set (a, 'Xlim', [0 10]);
pos=get(a, 'position');
Newpos= [pos(1) pos(2) 0.04 pos(4)];
ymax=dy;
S=['set(gca, ''ylim'', get (gcbo,''value'')+[0,',num2str(dy),'])'];
h=uicontrol('style', 'slider',...
'units', 'normalized', 'position', Newpos,...
'callback', S, 'min', -2, 'max',ymax-dy);


Saludos! =)
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

funcionamiento scroll

Publicado por Irene (23 intervenciones) el 02/04/2012 11:53:09
Gracias gerardo :)
Funciona perfectamente.
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

funcionamiento scroll

Publicado por Irene (23 intervenciones) el 08/04/2012 20:14:40
Hola de nuevo!
se me plantea una nueva duda...en la GUIDE tengo dos botones: "+" y "-" con los cuales aumento o disminuyo la escala de la figura una determinada cantidad...estos botones a mi parecer funcionan bien, pues realizan su función...pero a la hora de desplazarme por las señales usando el scroll la escala fijada anteriormente con los botones "+" y "-" desaparece y retorna siempre a la misma escala....

He probado a declarar también como global la variable "ylim"...pero no funciona...

%-----callback del scroll--------------------------
function slider4_Callback(hObject, eventdata, handles)
global y1 y2 y3 y4 y5
dy=8;
ymax=dy;
a=gca;
S=['set(gca, ''ylim'', get (gcbo, ''value'')+[0,', num2str(dy),'])'];
set(handles.slider4, 'callback', S)
set(handles.slider4,'min', -1)
set(handles.slider4,'max',15)
set(handles.slider4,'position', Newpos)
guidata(hObject, handles);

%---Callback del botón más "+"------------
function mas_Callback(hObject, eventdata, handles)
global y1 y2 y3 y4 y5
axes(handles.time_axes)
a=gca;
valor=get(hObject,'Value');
if valor
ylim=get(gca,'Ylim')
ylim(2)=ylim(2)+0.1*ylim(2);
ylim(1)=ylim(1)+0.1*ylim(1);
set(a, 'Ylim',[ylim(1) ylim(2)])
end
guidata(hObject, handles);
%----------------------------------------------------------------

Gracias de antemano a todos, espero vuestra ayuda.
Un saludo!
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