GUIDE Matlab
Publicado por Maria (3 intervenciones) el 05/02/2007 16:30:59
Hola a tod@s,
Estoy intentando recordar la herramienta GUI de Matlab, que pronto se olvidan las cosas.
Os cuento mi problema, he creado un simple ejemplo, con una ListBox donde desplego los ficheros de un directorio que le paso y un axes donde quiero que me grafique alguno de estos ficheros (estos ficheros son señales que las abro una subfunción, y luego llamo a esta en el Callback del ListBox)
%%%%%%%%%%%%%%%%%%%%%%
function abrirsignal(NombreFichero,handles)
clear sf;
close all;
fm=2048; % Frecuencia de muestro es 2048 muestras/segundo
%[file, path]=uigetfile('*.sig');
ap=fopen(NombreFichero,'r');
s=fread(ap,[16,inf], 'int16').';
fclose (ap);
[xlon,ylon]=size (s)
%% Dibujamos los 7 canales de la Señal Primera
% Filtramos cada uno de los canales por un filtro adaptativo, que nos va
% eliminar la Frecuencia de la red eléctrica 50 Hz y sus armónicos
size (s)
sf(:,1)=filtred(s(:,1), 0, fm, 50);
sf(:,2)=filtred(s(:,2), 0, fm, 50);
sf(:,3)=filtred(s(:,3), 0, fm, 50);
sf(:,4)=filtred(s(:,4), 0, fm, 50);
sf(:,5)=filtred(s(:,5), 0, fm, 50);
sf(:,6)=filtred(s(:,6), 0, fm, 50);
sf(:,7)=filtred(s(:,7), 0, fm, 50);
size(sf)
t=0:(xlon/fm-1);
['vamos a dibujar la señal']
%axes(handles.axes1);
plot(t,dibuja(sf(:,1:7),fm, 0.05, 3)),
%%%%%%%%%%%%%%%%%%%%%%%%%%
Lo que me ocurre, es que me dibuja la señal encima de la figura donde tengo definido la ListBox y los ejes, y claro yo quiero que me lo dibuje en axes1. Si descomento la linea
axes(handles.axes1) me da error, ya no se que probar mas.
Muchas gracias
Un saludo
María
Estoy intentando recordar la herramienta GUI de Matlab, que pronto se olvidan las cosas.
Os cuento mi problema, he creado un simple ejemplo, con una ListBox donde desplego los ficheros de un directorio que le paso y un axes donde quiero que me grafique alguno de estos ficheros (estos ficheros son señales que las abro una subfunción, y luego llamo a esta en el Callback del ListBox)
%%%%%%%%%%%%%%%%%%%%%%
function abrirsignal(NombreFichero,handles)
clear sf;
close all;
fm=2048; % Frecuencia de muestro es 2048 muestras/segundo
%[file, path]=uigetfile('*.sig');
ap=fopen(NombreFichero,'r');
s=fread(ap,[16,inf], 'int16').';
fclose (ap);
[xlon,ylon]=size (s)
%% Dibujamos los 7 canales de la Señal Primera
% Filtramos cada uno de los canales por un filtro adaptativo, que nos va
% eliminar la Frecuencia de la red eléctrica 50 Hz y sus armónicos
size (s)
sf(:,1)=filtred(s(:,1), 0, fm, 50);
sf(:,2)=filtred(s(:,2), 0, fm, 50);
sf(:,3)=filtred(s(:,3), 0, fm, 50);
sf(:,4)=filtred(s(:,4), 0, fm, 50);
sf(:,5)=filtred(s(:,5), 0, fm, 50);
sf(:,6)=filtred(s(:,6), 0, fm, 50);
sf(:,7)=filtred(s(:,7), 0, fm, 50);
size(sf)
t=0:(xlon/fm-1);
['vamos a dibujar la señal']
%axes(handles.axes1);
plot(t,dibuja(sf(:,1:7),fm, 0.05, 3)),
%%%%%%%%%%%%%%%%%%%%%%%%%%
Lo que me ocurre, es que me dibuja la señal encima de la figura donde tengo definido la ListBox y los ejes, y claro yo quiero que me lo dibuje en axes1. Si descomento la linea
axes(handles.axes1) me da error, ya no se que probar mas.
Muchas gracias
Un saludo
María
Valora esta pregunta


0