[PD] derivative function
Federico
xaero at inwind.it
Tue Jun 27 18:24:02 CEST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Piotr Majdak wrote:
> Federico wrote:
>> don't know if derivative is the right term..
>> i mean:
>> f(x)=x => f'(x)=1
>> f(x)=ln(x) => f'(x)=1/x
>> f(x)=sin(x) => f'(x)=cos(x)
>
>
> I don't know such as object, but maybe this will help you a little bit:
> Because you're dealing with finite discrete signals, the derivative of a
> signal becomes a difference between two consecutive samples. You can
> easily implement it using [z~] (from zexy, I think) and then subtract
> the delayed and original sequence:
>
> y[n]= x[n]-x[n-1]
hmm... I tried this with [z~] and [fexpr~], achieving the same result....
I wonder if there are errors in this way of computing derivative...
I am looking at my math notebook, where I read that derivatives are the
"limit for the incremental ratio of a function", where h is the
increment, and f(x) is the function, and I have this formula:
y' = lim {h >> 0} ( f(x+h) - f(x) ) / h
translating this into a fexpr~ I do:
[osc~] [float (h)]
| |
[fexpr~ ($x1-$x1[-$f2])/$f2]
recalling the rules above, for f(x)=sin(x),
I should have f'(x)=cos(x), however its amplitude lower as frequency
lowers... and phase offset of [osc~]' is 180° not 90°....
what's the problem? h isn't enough close to zero?
is there an "ideal" derivator? or I am say something totally wrong?
- --
Federico
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFEoVuixlXK3KziJfcRAsP+AJ9/+u4wgLZKYt6MN9QxUvP26nmxZgCfdIbF
hdZFx8rIgh+UJR4ipF6QDmA=
=0yYt
-----END PGP SIGNATURE-----
More information about the Pd-list
mailing list