| Products & Services | Industries | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → MATLAB |
| Contents | Index |
| Learn more about MATLAB |
FX = gradient(F)
[FX,FY] = gradient(F)
[FX,FY,FZ,...] = gradient(F)
[...] = gradient(F,h)
[...] = gradient(F,h1,h2,...)
The gradient of a function of two variables,
, is defined
as
![]()
and can be thought of as a collection of vectors pointing in
the direction of increasing values of
. In MATLAB software, numerical
gradients (differences) can be computed for functions with any number
of variables. For a function of
variables,
,
![]()
FX = gradient(F) where F is a vector returns the one-dimensional numerical gradient
of F. FX corresponds to
, the differences
in x (horizontal) direction.
[FX,FY] = gradient(F) where F is a matrix returns the
and
components of the two-dimensional
numerical gradient. FX corresponds to
, the differences
in
(horizontal) direction. FY corresponds to
, the differences in the
(vertical) direction.
The spacing between points in each direction is assumed to be one.
[FX,FY,FZ,...] = gradient(F) where F has N dimensions returns the N components of the gradient of F. There are two ways to control the spacing between values in F:
A single spacing value, h, specifies the spacing between points in every direction.
N spacing values (h1,h2,...) specifies the spacing for each dimension of F. Scalar spacing parameters specify a constant spacing for each dimension. Vector parameters specify the coordinates of the values along corresponding dimensions of F. In this case, the length of the vector must match the size of the corresponding dimension.
Note The first output FX is always the gradient along the 2nd dimension of F, going across columns. The second output FY is always the gradient along the 1st dimension of F, going across rows. For the third output FZ and the outputs that follow, the Nth output is the gradient along the Nth dimension of F. |
[...] = gradient(F,h) where h is a scalar uses h as the spacing between points in each direction.
[...] = gradient(F,h1,h2,...) with N spacing parameters specifies the spacing for each dimension of F.
The statements
v = -2:0.2:2; [x,y] = meshgrid(v); z = x .* exp(-x.^2 - y.^2); [px,py] = gradient(z,.2,.2); contour(v,v,z), hold on, quiver(v,v,px,py), hold off
produce

Given,
F(:,:,1) = magic(3); F(:,:,2) = pascal(3); gradient(F)
takes dx = dy = dz = 1.
[PX,PY,PZ] = gradient(F,0.2,0.1,0.2)
takes dx = 0.2, dy = 0.1, and dz = 0.2.
![]() | grabcode | graymon | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |