Seite 1 von 1

Broken-Powelaw-Plot

Verfasst: Donnerstag 5. Dezember 2013, 16:17
von jan91
Hallo zusammen,

ich habe ein Problem mit dem Plot einer zusammengesetzten Funktion. Genauer: Mit einer "Broken-Powerlaw", also einem Potenzgesetz, welches ab einem
bestimmten x die Potenz ändert. Einzelt lassen sich die Funktionen wunderbar plotten, nur zusammen wird mir keine Funktion angezeigt - einen Fehler spuckt Python jedoch auch nicht aus. Ich glaube das der Fehler in der Schleife liegt, dass das so einfach nicht funktioniert. Mit fällt aber auch keine andere Lösung ein und im Internet habe ich bis jetzt auch nicht gefunden.

Vielen Dank für die Hilfe!

Code: Alles auswählen

import matplotlib as plt
import matplotlib.pyplot  as pyplot
from pylab import *
import math
import numpy as np

a = -1.74956
b = -2.24956
br = 0.800358
norm = 1.77567*(10**(-4))

for x in np.arange(0.0001, 10):
    if x < br:
        y = norm*(x**a)
    else:
        y = norm*(br**(a-b))*(x**b)

xlabel("Energy [keV]")
pyplot.xscale('log')

ylabel("F [mJy]")
pyplot.yscale('log')
matplotlib.pyplot.autoscale(enable=True, axis='both', tight=None)
plot(x,y)
show()

Re: Broken-Powelaw-Plot

Verfasst: Donnerstag 5. Dezember 2013, 16:30
von Sirius3
@jan91: was plottest Du? Was siehst Du und was erwartest Du? Was ist der Inhalt von x und y?

Re: Broken-Powelaw-Plot

Verfasst: Donnerstag 5. Dezember 2013, 16:50
von BlackJack
@jan91: Wenn ich mir den Wert von `br` und die Werte für `x` so anschaue, denke ich auch die sind nicht so wirklich günstig gewählt. Überleg mal wie viele Datenpunkte das ergibt und wie viele davon <br sind, und wie aussagekräftig, oder halt auch nicht, *der* Plot werden würde. ;-)

Re: Broken-Powelaw-Plot

Verfasst: Donnerstag 5. Dezember 2013, 18:55
von jan91
Ich erwarte folgenden Plot:

Bild

Die Werte für die Broken-Powerlaw stimmen auf jeden Fall (wurde alles schon gefittet, will den Plot nur schöner machen):
die Potenzen: a, b
die Break-Energy: br
die Norm: norm
sowie die Funktionen (siehe https://heasarc.gsfc.nasa.gov/xanadu/xs ... power.html)

Der Bereich macht an sich schon Sinn, es handelt sich ja um einen logarithmischen Plot über mehrere Größenordnungen.

Ich glaube, wie gesagt, dass das Problem in der Methode liegt...

Re: Broken-Powelaw-Plot

Verfasst: Donnerstag 5. Dezember 2013, 19:13
von BlackJack
@jan91: Der Bereich mag Sinn machen, aber Anzahl und Verteilung im Verhältnis zum Wert von `br` macht eher weniger Sinn. Du solltest Dir vielleicht mal anschauen welche Werte Du da für `x` nimmst. Ich habe den Verdacht das ist etwas anderes als was Du *denkst*.

Re: Broken-Powelaw-Plot

Verfasst: Donnerstag 5. Dezember 2013, 19:25
von jan91
Wie bekomme ich den eine natürliche Verteilung von 10^-4 bis 100 hin?