Re: discrete numerical 2D gradient
- To: mathgroup at smc.vnet.net
- Subject: [mg114492] Re: discrete numerical 2D gradient
- From: Sebastian Schmitt <sschmitt at physi.uni-heidelberg.de>
- Date: Sun, 5 Dec 2010 21:55:46 -0500 (EST)
Hi!
Mark McClure wrote:
> On Tue, Oct 12, 2010 at 1:49 PM, Sebastian Schmitt
> <sschmitt at physi.uni-heidelberg.de> wrote:
>
>> I have 2D data represented as a matrix. I would like to obtain the
>> gradient.
>> ...
>> Is there a better (both mathematical and Mathematical) to construct the
>> y-derivatives (dyMatrix)?
>
> I would use ListInterpolation on your dataMatrix. The result is an
> InterpolatingFunction that you can manipulate in all sorts of ways.
>
> dataMatrix = Table[i*j, {i, 10}, {j, 10}];
> f = ListInterpolation[dataMatrix, {{0, 1}, {0, 1}}];
> grad[x_, y_] = {Derivative[1, 0][f][x, y],
> Derivative[0, 1][f][x, y]};
> VectorPlot[grad[x, y], {x, 0, 1}, {y, 0, 1}]
grad[x_, y_] = D[f[x, y], {{x, y}}];
is possible as well.
Cheers,
Sebastian