Derivative

3 views (last 30 days)
Umair Riaz
Umair Riaz on 23 Oct 2011
Answered: John on 5 Aug 2023
Hello I am working on Emotion Recognition Project and i have extracted features they are in matrix forms and now i want to calcuate the (differential/derivative) of that matrix .... i have check many examples but didnt get much...
ex: i have a column vector then How we can calculate the derivative of that column vector....
Regards

Answers (2)

Image Analyst
Image Analyst on 23 Oct 2011
Did you try the gradient() function? Or use diff()? Or convolve with [1 -1] using conv()?
  3 Comments
Image Analyst
Image Analyst on 24 Oct 2011
No. Don't do that. I guess you could say it's approximate because it's quantized. But you probably don't need to worry about it. Why don't you try some of the other methods and see what kind of images they produce? Or post your image and tell us what you want to find in it?
Jan
Jan on 24 Oct 2011
If you want to calculate the derivative, the values of x have to be measured at different times or locations. E.g. for getting d/dt it matters if the values of x are measures every second, every hour or in not equidistant time steps. For images the pixels have usually the same spatial distance, which can be assumed to be 1.0, except if you want to compare picture taken with different hardware. Now call your values "Img" to avoid confusion with the location in X-direction:
Img = [1,2,3,4,5]; x = [0,1,2,3,4];
"d(Img)/dx": dx = diff(Img) ./ diff(x);
This has 4 elements only. GRADIENT uses the more stable two-sided difference quotient for the interior points:
dx = gradient(Img, x); This has 5 elements.

Sign in to comment.


John
John on 5 Aug 2023
clc;
syms x
f = @(x) sin(x);
x = pi/2;
h = 0.0001;
d = (f(x+h)-f(x-h)/2*h)

Community Treasure Hunt

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

Start Hunting!