www.gusucode.com > MATLAB GUI设计的实例,学习用matlab设计界面的很好的参考资料 > matlab_GUI/page221.m
function varargout = page221(varargin) % PAGE221 M-file for page221.fig % PAGE221, by itself, creates a new PAGE221 or raises the existing % singleton*. % % H = PAGE221 returns the handle to a new PAGE221 or the handle to % the existing singleton*. % % PAGE221('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in PAGE221.M with the given input arguments. % % PAGE221('Property','Value',...) creates a new PAGE221 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before page221_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to page221_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help page221 % Last Modified by GUIDE v2.5 30-May-2005 16:29:30 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @page221_OpeningFcn, ... 'gui_OutputFcn', @page221_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before page221 is made visible. function page221_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to page221 (see VARARGIN) % Choose default command line output for page221 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes page221 wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = page221_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes during object creation, after setting all properties. function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in popupmenu1. function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu1 % --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) f = str2double(get(handles.edit1,'String')); fm = 1000; N = 1024; n = 0:N-1; x2 = n/fm; val1 = get(handles.popupmenu1,'Value'); switch val1 case 1 x = -0.04:0.001:0.04; y1 = sin(2*pi*f*x); y2 = sin(2*pi*f*x2); case 2 x = -0.06:0.0001:0.06; y1 = square(2*pi*f*x,50); y2 = square(2*pi*f*x2,50); case 3 x = -0.15:0.001:0.15; y1 = sawtooth(2*pi*f*x); y2 = sawtooth(2*pi*f*x2); case 4 x = [-5:0.01:5]; y1 = [(x-0) >= 0]; case 5 x = [-5:0.01:5]; y1 = [(x-0) == 0]; case 6 x = [-2:0.01:2]; y1 = sinc(f*pi*x); otherwise y1 = 0; end axes(handles.axes1) % Select the proper axes plot(x,y1,'-r') set(handles.axes1,'XMinorTick','on') title('时域波形'); grid on y = fft(y2,N); mag = abs(y); fs=(0:length(y)-1)'*fm/length(y); axes(handles.axes2) % Select the proper axes plot(fs,mag,'-b') axis([0 100 0 300]); set(handles.axes2,'XMinorTick','on') title('频域波形'); grid on % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close page2_2