select_object.m
上传用户:zjhyt3
上传日期:2007-07-03
资源大小:89k
文件大小:2k
源码类别:

matlab例程

开发平台:

Matlab

  1. %  Script file: select_object.m
  2. %
  3. %  Purpose: 
  4. %    This program illustrates the use of waitforbuttonpress
  5. %    and gco to select graphics objects.  It creates a plot
  6. %    of sin(x) and cos(x), and then allows a user to select 
  7. %    any object and examine its properties.  The program 
  8. %    terminates when a key press occurs.
  9. %
  10. %  Record of revisions:
  11. %      Date       Programmer          Description of change
  12. %      ====       ==========          =====================
  13. %    11/23/97    S. J. Chapman        Original code 
  14. %
  15. % Define variables:
  16. %   details      -- Object details
  17. %   H1           -- Handle of sine line
  18. %   H2           -- Handle of cosine line
  19. %   Handle       -- Handle of current object
  20. %   k            -- Result of waitforbuttonpress
  21. %   type         -- Object type
  22. %   x            -- Independent variable
  23. %   y1           -- sin(x)
  24. %   y2           -- cos(x)
  25. %   yn           -- Yes/No
  26. % Calculate sin(x) and cos(x)
  27. x = -3*pi:pi/10:3*pi;
  28. y1 = sin(x);
  29. y2 = cos(x);
  30. % Plot the functions.
  31. H1 = plot(x,y1);
  32. set(H1,'LineWidth',2);
  33. hold on;
  34. H2 = plot(x,y2);
  35. set(H2,'LineWidth',2,'LineStyle',':','Color','r');
  36. title('bfPlot of sin itx rmbf and cos itx');
  37. xlabel('bfitx');
  38. ylabel('bfsin itx rmbf and cos itx');
  39. legend('sine','cosine');
  40. hold off;
  41. % Now set up a loop and wait for a mouse click.
  42. k = waitforbuttonpress;
  43. while k == 0
  44.    % Get the handle of the object
  45.    Handle = gco;
  46.    
  47.    % Get the type of this object.
  48.    type = get(Handle,'Type');
  49.    
  50.    % Display object type
  51.    disp (['Object type = ' type '.']);
  52.    
  53.    % Do we display the details?
  54.    yn = input('Do you want to display details? (y/n) ','s');
  55.    
  56.    if yn == 'y'
  57.       details = get(Handle);
  58.       disp(details);
  59.    end
  60.    
  61.    % Check for another mouse click
  62.    k = waitforbuttonpress;
  63. end