Documentation of pncontm


Global Index (all files) (short | long) | Local Index (files in subdir) (short | long)


Function Synopsis

[cc, hh] = pncontm(xa, ya, x, clev, lab, s);

Help text

    [c, h] =  pncont(xa, ya, x, clev, lab, s);

     This function will plot positive contours of x in solid
     lines, and negative contours of x in dashed lines.

     pncont(x) pncont's the matrix 'x'.
     pncont(xa, ya, x) uses xa and ya as the x and y axes resp.
     pncont(xa, ya, x, clev) uses levels outlined in 'clev', or if
                             clev is an integer, uses clev levels.
     pncont(xa, ya, x, clev, lab) lab = 0 => don't label contours (default)
                                  lab = 1 => label contours
     pncont(xa, ya, x, clev, lab, s) s is a line color


Cross-Reference Information

This function is called by

Listing of function pncontm

function [cc, hh] = pncontm(xa, ya, x, clev, lab, s);
lw = 1;
if nargin == 5;
  if isstr(s);
    lab = 0;
  else
    lab = s; s = [];
  end
end
if nargin < 5; lab = 0; s = []; end;
if nargin < 4; clev = 10; end;
if nargin == 1;
  x = xa;
  [m, n] = size(x);
  xa = 1:n;
  ya = 1:m;
end;

%xp = x;
%xn = x;
%xp(x <= 0) = 0;
%xn(x >= 0) = 0;

%  First, determine if hold is 'on', or 'off'.

next_ax = lower(get(gca, 'NextPlot'));
if strcmp(next_ax, 'replace');  cla;  end;
set(gca, 'NextPlot', 'add');

hh = [];
cc = [];
a = []; b = []; c = []; d = []; e = []; f = [];

if any(clev > 0);
    if max(max(x)) > min(clev(clev > 0));
    [a, b] = contorm(ya, xa, x, clev(clev > 0), ['-' s]);
    if lab; clabelm(a, b, 'manual'); end;
    set(b,'linewidth',lw);
  end;
end

if any(clev < 0);
  if min(min(x)) < max(clev(clev < 0));
    [c, d] = contorm(ya, xa, x, clev(clev < 0), ['--' s]);
    if lab; clabelm(c, d, 'manual'); end;
    set(d,'linewidth',lw);
  end;
end

if any(clev == 0);
  if all([max(max(x)) > 0 , min(min(x)) < 0])
    [e, f] = contorm(ya, xa, x, [0 0], ['-' s]);
    if lab; clabelm(e, f, 'manual'); end;
    set(f,'linewidth',2*lw);
  end;
end;
set(gca, 'NextPlot', next_ax);

if nargout > 0;
  cc = [a c e];
  hh = [b; d; f];
end

grid on;