2017-01-24 4 views
-1

Je le spectre d'énergie d'un certain nombre de particules N (E) E. v/Tracé du spectre de l'énergie différentielle de l'énergie du spectre

Cependant, je veux tracer le spectre d'énergie différentielle à savoir dN/dE v/s EI N'A PAS l'intention de calculer la dérivée ici [comme pourrait le suggérer la manière traditionnelle de représenter un spectre d'énergie différentiel] Ce dont j'ai essentiellement besoin, c'est le nombre de particules dans l'histogramme à diviser par la largeur du bac.

Y at-il un moyen de le faire automatiquement dans matplotlib ou quelque chose de similaire? Ou ai-je réellement besoin de le faire manuellement, dans lequel j'ai besoin d'écrire du code pour d'abord mettre les particules dans des bacs différents, puis diviser par la largeur de bac, puis redessiner l'histogramme.

+0

Matplotlib peut tracer des données. Il ne se soucie pas de la façon d'obtenir les données. Maintenant, vous demandez essentiellement comment calculer la dérivée d'une fonction. Il y a probablement des millions de façons de le faire, l'une des plus efficaces peut être d'utiliser numpy. Je suggère, vous avez un coup d'oeil à ['numpy.diff'] (https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.diff.html) et si vous avez un spécifique question, fournissez un [MCVE] pour cela. – ImportanceOfBeingErnest

+0

Umm ... Non. C'est une mauvaise interprétation de ma question. Je n'ai pas l'intention de calculer la dérivée de ma fonction [en fait, il n'y a pas de fonction. J'ai juste une distribution sur une variable (E)]. Si vous lisez le 2ème paragraphe de la 2ème ligne, comme je l'explique, j'ai maintenant l'intention d'obtenir le spectre différentiel dans lequel chaque valeur y est divisée par la largeur de la cellule – Aritra

Répondre

1

matplotlib est une bibliothèque graphique. Il peut tracer des données et éditer des chiffres.

Ce que vous devez faire ici est d'appliquer une méthode numérique pour différencier vos données. Cela ne devrait pas être difficile.

Vous pouvez simplement appliquer la définition du dérivé, ayant comme mesure la plus courte DeltaT la vous avez des E

Une fois que vous avez obtenu les données que vous pouvez simplement utiliser matplotlib pour tracer il.

Si vous publiez les données ici, je serais heureux de vous donner un exemple de la façon de le faire.

ou vous pouvez simplement vérifier https://en.wikipedia.org/wiki/Numerical_differentiation

+0

Ma question était de savoir si je devais écrire mon propre code est une caractéristique inhérente à matplotlib/numpy etc. Il semble que je doive écrire le mien. Merci! – Aritra