Global Index (all files) (short | long) | Local Index (files in subdir) (short | long)
[dfdx, rxout] = sph_gradx1(data, ry, rx, wrap);
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
| This function is called by | |
|---|---|
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