Bonjour,
j'essaie de calculer l'aire sous cette courbe (la verte !) donc l'énergie. Elle représente la puissance d'un servo moteur d'un bras robotique de 0.250kg pendant 20 secondes. Je l'ai obtenu en multipliant le couple par la vitesse angulaire. Donc j'obtiens un vecteur colonne.
Ma question est quelle fonction de Matlab je dois utiliser pour intégrer cette courbe.
cas 1:
ENERGIE(i,j) = abs(trapz(mbs_invdyn.tsim(:),mbs_invdyn.Qq(:,2).*mbs_invdyn.qd(:,2)));
ou
cas 2:
ENERGIE(i,j) = abs(trapz(mbs_invdyn.Qq(:,2).*mbs_invdyn.qd(:,2)));
J'obtiens une moyenne de 0.0475 joule pour le cas 1 et de 1.5461 joule pour le cas 2. La valeur correcte pour moi serait celle du cas 2 car quand j'essaie de calculer à la main l'aire sous la courbe, je trouve quelque chose comme 1 Joule.
Puis le wiki de Matlab me dit que si j'ai un vecteur colonne de faire trapz(Y)... Donc voilà que faire ?
mbs_invdyn.Qq = couple
mbs_invdyn.qd = vitesse angulaire
mbs_invdyn.tsim = vecteur temps de 0 à 20 avec un pas 0.0307
Ah aussi quand je dérive la puissance en faisant diff(mbs_invdyn.Qq(:,2).*mbs_invdyn.qd(:,2)), je n'ai pas un pas uniforme. Ça varie.
Merci
Partager