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

Antworten (2)

Image Analyst
Image Analyst am 23 Okt. 2011

0 Stimmen

Did you try the gradient() function? Or use diff()? Or convolve with [1 -1] using conv()?

3 Kommentare

Umair Riaz
Umair Riaz am 24 Okt. 2011
hi thnaks for reply
I used diff function basically i am using this example
The quantity diff(y)./diff(x) is an approximate derivative.
x = [1 2 3 4 5];
y = diff(x)
y =
1 1 1 1
the only thing is confusing me is that if we see the formula
it says d(y)./d(x) is approximate deivative and then the difference of x vector and it become y . y=diff(x); then it take again diff of y and divide it with difference of x.
so it means that we can take derivative like this is it right way to take derivative?
1:diff(diff(x))./diff(x) or 2:diff(x,2)./diff(x)
thnaks ....
Image Analyst
Image Analyst am 24 Okt. 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 am 24 Okt. 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.

Melden Sie sich an, um zu kommentieren.

John
John am 5 Aug. 2023

0 Stimmen

clc;
syms x
f = @(x) sin(x);
x = pi/2;
h = 0.0001;
d = (f(x+h)-f(x-h)/2*h)

Gefragt:

am 23 Okt. 2011

Beantwortet:

am 5 Aug. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by