Manejar varias ventanas en GUI
Publicado por David (1 intervención) el 06/02/2008 13:54:12
Hola a todos!!!
A ver, mi problema es el siguiente:
Mi programa consiste en abrir un archivo .wav, con el cual voy a calcular la fft y representarla en una grafica. Además quiero almacenar en un archivo .xls los datos de las frecuencias y la amplitud (dB) de cada punto en 2 columnas para despues seleccionar las regiones donde estan los picos de la señal. La cuestion que si todo esto lo hago a traves de un pushbutton "Abrir muestra" todo funciona correctamente. La cuestion es que cuando quiero crear mi programa a través de menúes (Un menu Archivo>>Abrir muestra) para que quede mejor visualmente, la grafica me la plotea perfectamente, el problema es que no me exporta los datos al archivo Excel. Aqui les dejo el codigo fuente del programa y el error que arroja Matlab en la linea de comandos:
function menu_Abrir_Callback(hObject, eventdata, handles)
[FileName Path]=uigetfile({'*.wav'},'Abrir Muestra');
if isequal(FileName,0)
return
else
[data,fs]=wavread(strcat(Path,FileName));
H=fft(data,2048);
H=10*log10(abs(H(1:1024)));
F=linspace(0,fs/2,1024);
plot(F,H);grid on;zoom on;
axis([0 1000 min(H) max(H)+5]);
ylabel('Amplitud(dB)')
xlabel('Frecuencia(Hz)')
Datos=[F;H]';
xlswrite('Datos.xls',Datos);
end
handles.direccion=strcat(Path,FileName);
guidata(hObject,handles)
.....y el error que da Matlab:
??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
Error in ==> PVB>menu_Abrir_Callback at 91
Datos=[F;H]';
Error in ==> gui_mainfcn at 95
feval(varargin{:});
Error in ==> PVB at 42
gui_mainfcn(gui_State, varargin{:});
??? Error using ==> PVB('menu_Abrir_Callback',gcbo,[],guidata(gcbo))
Error using ==> vertcat
CAT arguments dimensions are not consistent.
??? Error while evaluating uimenu Callback
Hay que tratar las variables de alguna otra forma al usar menus y sub-menús????
Que es lo que está mal para que no me cree el archivo .xls??
De paso aprovecho para preguntar otra cosa:
Como puedo conseguir que entrando en algun que otro menu o sub-menu se me abra otra ventana para introducir datos y demas???
Gracias y espero vuestras respuestas!!!!!!
A ver, mi problema es el siguiente:
Mi programa consiste en abrir un archivo .wav, con el cual voy a calcular la fft y representarla en una grafica. Además quiero almacenar en un archivo .xls los datos de las frecuencias y la amplitud (dB) de cada punto en 2 columnas para despues seleccionar las regiones donde estan los picos de la señal. La cuestion que si todo esto lo hago a traves de un pushbutton "Abrir muestra" todo funciona correctamente. La cuestion es que cuando quiero crear mi programa a través de menúes (Un menu Archivo>>Abrir muestra) para que quede mejor visualmente, la grafica me la plotea perfectamente, el problema es que no me exporta los datos al archivo Excel. Aqui les dejo el codigo fuente del programa y el error que arroja Matlab en la linea de comandos:
function menu_Abrir_Callback(hObject, eventdata, handles)
[FileName Path]=uigetfile({'*.wav'},'Abrir Muestra');
if isequal(FileName,0)
return
else
[data,fs]=wavread(strcat(Path,FileName));
H=fft(data,2048);
H=10*log10(abs(H(1:1024)));
F=linspace(0,fs/2,1024);
plot(F,H);grid on;zoom on;
axis([0 1000 min(H) max(H)+5]);
ylabel('Amplitud(dB)')
xlabel('Frecuencia(Hz)')
Datos=[F;H]';
xlswrite('Datos.xls',Datos);
end
handles.direccion=strcat(Path,FileName);
guidata(hObject,handles)
.....y el error que da Matlab:
??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
Error in ==> PVB>menu_Abrir_Callback at 91
Datos=[F;H]';
Error in ==> gui_mainfcn at 95
feval(varargin{:});
Error in ==> PVB at 42
gui_mainfcn(gui_State, varargin{:});
??? Error using ==> PVB('menu_Abrir_Callback',gcbo,[],guidata(gcbo))
Error using ==> vertcat
CAT arguments dimensions are not consistent.
??? Error while evaluating uimenu Callback
Hay que tratar las variables de alguna otra forma al usar menus y sub-menús????
Que es lo que está mal para que no me cree el archivo .xls??
De paso aprovecho para preguntar otra cosa:
Como puedo conseguir que entrando en algun que otro menu o sub-menu se me abra otra ventana para introducir datos y demas???
Gracias y espero vuestras respuestas!!!!!!
Valora esta pregunta


0