Bonjour,
je voudrai savoir comment calculer la dérivée d'un signal quelquonque sous Matlab. Existe t il une fonction particulière? Si non quel calcul faut il utiliser?
Merci d'avance.
Bonjour,
je voudrai savoir comment calculer la dérivée d'un signal quelquonque sous Matlab. Existe t il une fonction particulière? Si non quel calcul faut il utiliser?
Merci d'avance.
Si ta fonction à pour abscisses t et ordonné x alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function dx=my_derive(t,x) if (length(t)~=length(x)) error('t et x doivent avoir la même longueur'); end; good_ind=find(diff(t)); t=t(good_ind); x=x(good_ind); dx=diff(x)./diff(t);
Ils ne savaient pas que c’était impossible, alors ils l’ont fait
Merci pour la réponse.
J'ai lu sur internet que la fonstion diff n'est pas trés précise. cela est il vrai?
On pourrait savoir où ?Envoyé par mariono
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
je ne sais plus sur quel site car j'ai fait beaucoup de recherches. En tout cas, ils conseillaix plutot d'utiliser un algorithme du type: (fx+1-fx)/dt, ou quelque chose comme sa...
En fait, peut etre qu'ils disaient sa car diff réduit le nombre de points, il me semble?
Envoyé par mariono
J'ai du mal à y croire mais si t'aimes pas diff tu peux faire
A part le temps d'exécution qui sera un peu plus long logiquement, c'est la même chose que diff.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function dx=my_diff(x) dx=x(2:end)-x(1:end-1);
Ils ne savaient pas que c’était impossible, alors ils l’ont fait
Euh, pas tout à fait... diff réalise la soustraction de deux points consécutifs, donc fatalement, si le signal original possède N points, le signal de sortie possède N-1 points... Mais c'est tout à fait gérable à mon avis...Envoyé par mariono
Matlab R2009b
Forget the accents... sorry but qwerty ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager