I have 3 vectors X(i,j);Y(i,j) and Z(i,j).Z is a function of x and y numerically. I want to plot the gradient of z with respect to x and y. Can anyone suggest me how to find the gradient in the above case? Thanks, -Bhaskar

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 28 Aug. 2013

1 Stimme

Is it a rectangular grid? [X, Y] = ndgrid(Xv, Yv) for some vector Xv, Yv ?
If so, then
gradient(Z, xv, yv)

2 Kommentare

Bhaskarjyoti
Bhaskarjyoti am 30 Aug. 2013
yeah it is a rectangular grid. And it works. Thanks a lot.
Muthu Annamalai
Muthu Annamalai am 30 Aug. 2013
@walter I love the gradient + quiver plots. Reminds me of the swirling fields.. http://www.mathworks.com/help/matlab/ref/gradient.html?searchHighlight=gradient

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 28 Aug. 2013

0 Stimmen

Wouldn't it be diff(Z) ./ sqrt(diff(X).^2 + diff(Y).^2) or something pretty similar to that?

1 Kommentar

Bhaskarjyoti
Bhaskarjyoti am 30 Aug. 2013
Thanks. I could do it by gradient(z,x,y).

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by