matlab
function q=mmhole(x,y,z,xlim,ylim)%MMHOLE Create Hole in 3D Graphics Data
% Z=MMHOLE(X,Y,Z,Xlim,Ylim) sets the data in Z to NaN
% corresponding to the limits in Xlim= and
% Ylim=. If Xlim or Ylim are empty they are
% assumed to be [-inf inf].
% X and Y can be plaid matrices, e.g., created by MESHGRID
% or they can be vectors defining the x and y axes.
%
% Z=MMHOLE(Z,Clim,Rlim) creates the NaN hole based on the
% column index limits in Clim and the row index limits in Rlim
%
% Resulting data can be plotted using mesh or surf:
% MESH(X,Y,Z) or SURF(X,Y,Z)
% This function automates the procedure described on
% page 249 of "Mastering MATLAB".
% D.C. Hanselman, University of Maine, Orono ME, 04469
% 9/26/95
% Copyright (c) 1996 by Prentice-Hall, Inc.
if nargin==3 function mmline(arg1,arg2,arg3,arg4,arg5,arg6)
%MMLINE Set Line Properties Using Mouse.
% MMLINE waits for a mouse click on a line then
% applies the desired properties to the selected line.
% Properties are given in pairs, e.g., MMLINE name value ...
% Properties:
% NAME VALUE {default}
% color or an rgb in quotes: ''
% style [- -- : -.]
% mark
% width points for linewidth {0.5}
% size points for marker size (6)
% zap (n.a.) delete selected line
% Examples:
% MMLINE color r width 2 sets color to red and width to 2 points
% MMLINE mark + size 8 sets marker type to + and size to 8 points
% MMLINE color '' sets color to orange
%
% Clicking on an object other than a line, or striking
% a key on the keyboard aborts the command.
% D.C. Hanselman, University of Maine, Orono, ME, 04469
% 4/27/95
% Copyright (c) 1996 by Prentice-Hall, Inc.
Hf=mmgcf;
if isempty(Hf), error('No Figure Available.'), end
if length(get(0,'Children'))==1
figure(Hf) % bring only figure forward
end
key=waitforbuttonpress;
if key % key on keyboard pressed
return
else % object selected
Hl=gco;
if strcmp(get(Hl,'Type'),'line') % line object selected
for i=1:2:max(nargin-1,1)
name=eval(sprintf('arg%.0f',i),'[]'); % get name argument
if strcmp(name,'zap')
delete(Hl),return
end
value=eval(sprintf('arg%.0f',i+1),'[]'); % get value argument
if strcmp(name,'color')
if value(1)=='[',value=eval(value);end
set(Hl,'Color',value)
elseif strcmp(name,'style')
set(Hl,'Linestyle',value)
elseif strcmp(name,'mark')
set(Hl,'Linestyle',value)
elseif strcmp(name,'width')
value=abs(eval(value));
set(Hl,'LineWidth',value)
elseif strcmp(name,'size')
value=abs(eval(value));
set(Hl,'MarkerSize',value)
else
disp(['Unknown Property Name: ' name])
end
end
end
end 顶。。。。。。。。。。。。
页:
[1]