two_axes.m
上传用户:speoil
上传日期:2022-06-23
资源大小:224k
文件大小:4k
源码类别:

波变换

开发平台:

Matlab

  1. function varargout = two_axes(varargin)
  2. % TWO_AXES Application M-file for two_axes.fig
  3. %   TWO_AXES, by itself, creates a new TWO_AXES or raises the existing
  4. %   singleton*.
  5. %
  6. %   H = TWO_AXES returns the handle to a new TWO_AXES or the handle to
  7. %   the existing singleton*.
  8. %
  9. %   TWO_AXES('CALLBACK',hObject,eventData,handles,...) calls the local
  10. %   function named CALLBACK in TWO_AXES.M with the given input arguments.
  11. %
  12. %   TWO_AXES('Property','Value',...) creates a new TWO_AXES or raises the
  13. %   existing singleton*.  Starting from the left, property value pairs are
  14. %   applied to the GUI before two_axes_OpeningFunction gets called.  An
  15. %   unrecognized property name or invalid value makes property application
  16. %   stop.  All inputs are passed to two_axes_OpeningFcn via varargin.
  17. %
  18. %   *See GUI Options - GUI allows only one instance to run (singleton).
  19. %
  20. % See also: GUIDE, GUIDATA, GUIHANDLES
  21. % Edit the above text to modify the response to help two_axes
  22. % Last Modified by GUIDE v2.5 25-Mar-2002 12:19:15
  23. % Begin initialization code - DO NOT EDIT
  24. gui_Singleton = 1;
  25. gui_State = struct('gui_Name',          mfilename, ...
  26.                    'gui_Singleton',     gui_Singleton, ...
  27.                    'gui_OpeningFcn',    @two_axes_OpeningFcn, ...
  28.                    'gui_OutputFcn',     @two_axes_OutputFcn, ...
  29.                    'gui_LayoutFcn',     [], ...
  30.                    'gui_Callback',      []);
  31. if nargin & isstr(varargin{1})
  32.     gui_State.gui_Callback = str2func(varargin{1});
  33. end
  34. if nargout
  35.     varargout{1:nargout} = gui_mainfcn(gui_State, varargin{:});
  36. else
  37.     gui_mainfcn(gui_State, varargin{:});
  38. end
  39. % End initialization code - DO NOT EDIT
  40. % --- Executes just before two_axes is made visible.
  41. function two_axes_OpeningFcn(hObject, eventdata, handles, varargin)
  42. % This function has no output args, see OutputFcn.
  43. % hObject    handle to figure
  44. % eventdata  reserved - to be defined in a future version of MATLAB
  45. % handles    structure with handles and user data (see GUIDATA)
  46. % varargin   command line arguments to two_axes (see VARARGIN)
  47. % Choose default command line output for two_axes
  48. handles.output = hObject;
  49. % Update handles structure
  50. guidata(hObject, handles);
  51. % UIWAIT makes two_axes wait for user response (see UIRESUME)
  52. % uiwait(handles.figure1);
  53. % --- Outputs from this function are returned to the command line.
  54. function varargout = two_axes_OutputFcn(hObject, eventdata, handles)
  55. % varargout  cell array for returning output args (see VARARGOUT);
  56. % hObject    handle to figure
  57. % eventdata  reserved - to be defined in a future version of MATLAB
  58. % handles    structure with handles and user data (see GUIDATA)
  59. % Get default command line output from handles structure
  60. varargout{1} = handles.output;
  61. % --------------------------------------------------------------------
  62. function varargout = plot_button_Callback(h, eventdata, handles, varargin)
  63. % hObject    handle to plot_button (see GCBO)
  64. % eventdata  reserved - to be defined in a future version of MATLAB
  65. % handles    structure with handles and user data (see GUIDATA)
  66. % Get user input from GUI
  67. f1 = str2double(get(handles.f1_input,'String'));
  68. f2 = str2double(get(handles.f2_input,'String'));
  69. t = eval(get(handles.t_input,'String'));
  70. % Calculate data
  71. x = sin(2*pi*f1*t) + sin(2*pi*f2*t);
  72. y = fft(x,512);
  73. m = y.*conj(y)/512;
  74. f = 1000*(0:256)/512;;
  75. % Create frequency plot
  76. axes(handles.frequency_axes)
  77. plot(f,m(1:257))
  78. set(handles.frequency_axes,'XMinorTick','on')
  79. grid on
  80. % Create time plot
  81. axes(handles.time_axes)
  82. plot(t,x)
  83. set(handles.time_axes,'XMinorTick','on')
  84. grid on