📄 rand_analyze.m
字号:
function varargout = rand_analyze(varargin)% RAND_ANALYZE Application M-file for rand_analyze.fig% FIG = RAND_ANALYZE launch rand_analyze GUI.% RAND_ANALYZE('callback_name', ...) invoke the named callback.% Last Modified by GUIDE v2.0 06-Sep-2005 09:46:55if nargin == 0 % LAUNCH GUI fig = openfig(mfilename,'reuse'); % Use system color scheme for figure: set(fig,'Color',get(0,'defaultUicontrolBackgroundColor')); % Generate a structure of handles to pass to callbacks, and store it. handles = guihandles(fig); guidata(fig, handles); if nargout > 0 varargout{1} = fig; endelseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK try if (nargout) [varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard else feval(varargin{:}); % FEVAL switchyard end catch disp(lasterr); endend%| ABOUT CALLBACKS:%| GUIDE automatically appends subfunction prototypes to this file, and %| sets objects' callback properties to call them through the FEVAL %| switchyard above. This comment describes that mechanism.%|%| Each callback subfunction declaration has the following form:%| <SUBFUNCTION_NAME>(H, EVENTDATA, HANDLES, VARARGIN)%|%| The subfunction name is composed using the object's Tag and the %| callback type separated by '_', e.g. 'slider2_Callback',%| 'figure1_CloseRequestFcn', 'axis1_ButtondownFcn'.%|%| H is the callback object's handle (obtained using GCBO).%|%| EVENTDATA is empty, but reserved for future use.%|%| HANDLES is a structure containing handles of components in GUI using%| tags as fieldnames, e.g. handles.figure1, handles.slider2. This%| structure is created at GUI startup using GUIHANDLES and stored in%| the figure's application data using GUIDATA. A copy of the structure%| is passed to each callback. You can store additional information in%| this structure at GUI startup, and you can change the structure%| during callbacks. Call guidata(h, handles) after changing your%| copy to replace the stored original so that subsequent callbacks see%| the updates. Type "help guihandles" and "help guidata" for more%| information.%|%| VARARGIN contains any extra arguments you have passed to the%| callback. Specify the extra arguments by editing the callback%| property in the inspector. By default, GUIDE sets the property to:%| <MFILENAME>('<SUBFUNCTION_NAME>', gcbo, [], guidata(gcbo))%| Add any extra arguments after the last argument, before the final%| closing parenthesis.% --------------------------------------------------------------------function varargout = pushbutton2_Callback(h, eventdata, handles, varargin)close;index2;% --------------------------------------------------------------------function varargout = plot_button_Callback(h, eventdata, handles, varargin)global select_signal;global t;val = get(handles.pop_menu,'Value');switch val; case 1 set(handles.vary_text1,'String','by direct function') set(handles.vary_text2,'String','by periodogram') set(handles.vary_text3,'String','PSD')% Calculate data x = select_signal; N=length(t); nfft=1024; Xk=fft(x,nfft); Pxx1=abs(Xk).^2/N; index=0:round(nfft/2-1); k=index*N/nfft; plot_Pxx1=10*log10(Pxx1(index+1)); window=boxcar(length(x)); [Pxx2,f]=periodogram(x,window,1024,1000); plot_Pxx2=10*log10(Pxx2(index+1));% Create time plotaxes(handles.time_axes)plot(t,select_signal)set(handles.time_axes,'XMinorTick','on')grid on% Create magnitude plotaxes(handles.axes1)plot(k,plot_Pxx1)set(handles.axes1,'XMinorTick','on')grid on % Create magnitude plotaxes(handles.axes2)plot(k,plot_Pxx2)set(handles.axes2,'XMinorTick','on')grid on case 2 set(handles.vary_text1,'String','') set(handles.vary_text2,'String','by BT method') set(handles.vary_text3,'String','R(m)')% Calculate data x = select_signal; N=length(t); m=-500:500; [r,lag]=xcorr(x,500,'biased'); axes(handles.axes1) hndl=stem(m,r); set(hndl,'MarKer','.'); set(hndl,'MarkerSize',2); k=0:1000; w=(pi/500)*k; M=k/500; X=r*(exp(-j*pi/500).^(m'*k)); magX=abs(X); axes(handles.axes2) plot(M,10*log10(magX)); % Create time plotaxes(handles.time_axes)plot(t,select_signal)set(handles.time_axes,'XMinorTick','on')grid on end% --------------------------------------------------------------------function varargout = time_axes_CreateFcn(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = back_button_Callback(h, eventdata, handles, varargin)close;generate_rand;% --------------------------------------------------------------------function varargout = pop_menu_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = plot_button_CreateFcn(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = pushbutton2_CreateFcn(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = listbox1_Callback(h, eventdata, handles, varargin)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -