Documentation of sph_gradx1


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


Function Synopsis

[dfdx, rxout] = sph_gradx1(data, ry, rx, wrap);

Help text


  dfdx = sph_gradx1(data, ry, rx, wrap);

  assume rx and ry specified in radians;

  wrap determines whether to wrap around the globe (default = 0)

  SEE : sph_gradx1, sph_div1, sph_curl1

Cross-Reference Information

This function is called by

Listing of function sph_gradx1

function [dfdx, rxout] = sph_gradx1(data, ry, rx, wrap);


global RADUS RADIAN DEGREE

[nry, nrx] = size(data);

if nargin < 2
  rx = 1:nrx;
  ry = 1:nry;
elseif nargin < 4
  wrap = 0;
end

if size(rx, 1) == 1;
  rx = rx';
end

if length(rx) ~= nrx;
  error('length(rx) and size(data, 2) must be equal');
end

if wrap;
  data = [data data(:,1)];
  rx = [rx; rx(1)+RADIAN*360.];
end

data = data';
dx = diff(rx);
acosdx = RADUS * dx * cos(ry');

dfdx = diff(data) ./ acosdx;
if wrap
  rx2 = mean([rx(1:nrx)'; rx(2:(nrx+1))'])';
else
  rx2 = mean([rx(1:(nrx-1))'; rx(2:nrx)'])';
end

dfdx = dfdx';
if nargout == 2;
  rxout = rx2;
end