Azzera filtri
Azzera filtri

Derivative

1 visualizzazione (ultimi 30 giorni)
Umair Riaz
Umair Riaz il 23 Ott 2011
Risposto: John il 5 Ago 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

Risposte (2)

Image Analyst
Image Analyst il 23 Ott 2011
Did you try the gradient() function? Or use diff()? Or convolve with [1 -1] using conv()?
  3 Commenti
Image Analyst
Image Analyst il 24 Ott 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 il 24 Ott 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.

Accedi per commentare.


John
John il 5 Ago 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!

Translated by