about gradient and diff

The help of my matlab says: (in article "gradient -Gradient vector of scalar function")
-If x is a scalar, gradient(f,x) = diff(f, x).
This is wrong, right?
diff(f,2) should = diff( diff(f) ) % means 2nd order diff
while gradient (f, 2) means the grid increment is 2. which means, for a curve f-t, or f(t), t is a linear space and dt = t(2)-t(1) = 2
Let me know everybody~ Thanks~

5 件のコメント

Matt J
Matt J 2013 年 6 月 15 日
Which gradient() and diff() methods are you referring to? The ones in the Symbolic Toolbox?
Image Analyst
Image Analyst 2013 年 6 月 15 日
For base MATLAB, the help says this:
"Y = diff(X,n) applies diff recursively n times,resulting in the nth difference. Thus, diff(X,2) isthe same as diff(diff(X))."
Yuji Zhang
Yuji Zhang 2013 年 6 月 15 日
Hi folks,
Thanks for discussion.
There are actually two different gradient functions - see Walter's answer.
Image Analyst
Image Analyst 2013 年 6 月 15 日
How do you tell your code which one to use?
Yuji Zhang
Yuji Zhang 2013 年 6 月 15 日
編集済み: Yuji Zhang 2013 年 6 月 15 日
I think, if your input y is a symbolic function, like y = x^2, then gradient(y) is symbolic gradient.
If the y is a numerical curve, like y = [1 2 3 4 ....]; then gradient(y) is the numerical gradient.

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2013 年 6 月 15 日

1 投票

Symbolic gradient, http://www.mathworks.com/help/symbolic/gradient.html, is the gradient vector of a scalar function, but numeric gradient, http://www.mathworks.com/help/matlab/ref/gradient.html is just "Numerical gradient". It is numerical gradient for which the "2" would mean a point spacing of 2, and it is the symbolic gradient for which the "2" would mean double differentiation.

1 件のコメント

Yuji Zhang
Yuji Zhang 2013 年 6 月 15 日
Hi Walter~
Nice explanation! Thank you so much! I didn't know there were two different gradient functions. Yea, I see - makes sense. These two gradient functions are in different contexts.
Thanks again~

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by