Quiero usar la interfaz gráfica de usuario de Matlab para crear un filtro de paso de banda de 60 a 200 Hz, pero se produce un error durante la operación: se hace referencia al campo inexistente 'fs'. ¿Por qué aparece?
Debido a que no definiste una variable global para fs, [y, fs]=audioread(filename); el fs interno es solo una variable local y su alcance es solo en la función pushbutton1_Callback
Solución Puedes agregar la oración
global fs
antes de usar el nombre de la variable fs en ambas funciones. O hay otro truco, que consiste en definir un nuevo campo de. fs en la estructura de identificadores, similar a handles.fs, la estructura de identificadores es el parámetro predeterminado de la subfunción gui, que logra el efecto de pasar parámetros. Sin embargo, la desventaja es que si se agregan demasiados campos nuevos. los mangos son demasiado grandes, ralentizará el programa. p>