Hallo, also ich hab folgendes problem und zwar folgende gleichung zu lösen:
x = ln(149,27-(92,18±2,509)/(172,6±2,561))/(0,08061±0,003263)
wie genau muss ich das angehen mit den ungenauigkeiten ?
Danke schonmal
Hallo, also ich hab folgendes problem und zwar folgende gleichung zu lösen:
x = ln(149,27-(92,18±2,509)/(172,6±2,561))/(0,08061±0,003263)
wie genau muss ich das angehen mit den ungenauigkeiten ?
Danke schonmal
Hallo,
willst Du den Fehler von x haben?
Was bedeuten die Angaben hinter ±? Sind das Maximalfehler oder Standardabweichungen?
Wenn es Maximalfehler sind, kann man den entsprechenden Maximalfehler von x einfach abschätzen, indem man die Gleichung mit diesen Maximalfehlern rechnet:
Überall minus gerechnet ist x = 59.63801,
überall plus gerechnet ist x = 64.67376
Durch den Ln sind diese Grenzwerte nicht symmetrisch zum mittleren x-Wert, daher würde ich als Ergebnis angeben: x = 62 (60 - 65).
Ich habe keine Nachkommastellen angegeben, weil der Fehler schon 5 Einheiten groß ist. Die Einer-Stelle des Ergebnisses (2) ist schon voll im „Fehlerrauschen“.
Wenn es zB. Standardabweichungen sind, kann man mit der Gauss’schen Fehlerfortpflanzung rechnen:
Dazu brauchst Du die partiellen Ableitungen nach allen fehlerbehafteten Größen. Wenn ich keinen Fehler gemacht habe, sollten das sein:
dx/db = - 1/d * log(ac) * 1/b³
dx/dc = 1/(cd) * (1/log(b) - 1)
dx/dd = 1/d² * (log© - log(ac)/log(b))
wobei ich die Zahlen in der Gleichung einfach vom Start weg als a, b, c usw. bezeichnet habe (sv ist der Fehler von v):
x = ln(a-(b±sb)/(c±sc)/(d±sd)
Setzt man die Zahlenwerte ein, bekommt man
dx/db = - 1/d * ln(ac) * 1/b³
dx/dc = 1/(cd) * (1/ln(b) - 1)
dx/dd = 1/d² * (ln© - ln(ac)/ln(b))
Zahlenwerte mal eingesetzt:
dx/db = -0.0001608626
dx/dc = -0.05598563
dx/dd = 447.1812
Diese werte werden quadriert und jeder quadrierte Wert wird mit dem entsprechenden Fehlerwert multipliziert:
(dx/db)² * sb = 6.492481e-08
(dx/dc)² * sc = 0.008027176
(dx/dd)² * sd = 652.5056
Diese Werte werden addiert, aus der Summe wird die Wurzel gezogen. Bei mir kommt dann 25.54435 raus. Das ist der Fehlerwert für x. Als Ergebnis würde ich notieren:
x = 62 ± 26
Ich habe jetzt nicht kontrolliert, ob die Ableitungen alle korrekt sind, es können Fehler drinstecken. Also bitte nachprüfen. Das Prinzip stimmt aber.
LG
Jochen
Hallo, danke für die umfangreiche antwort. Ja gemeint ist der Maximalfehler. Allerdings hab ich angenommen das in etwa ein Wert von 10 bis 15 rauskommt da ja für die Werte ohne den Maximalfehler irgendwas um 13,xx rauskommt.
Hmm, wenn ich das lt. Deinen Angaben durchrechne, bekomme ich folgende Werte:
a = 149.27
b = 92.18; sb = 2.509
c = 172.6; sc = 2.561
d = 0.08061; sd = 0.003263
Fehler = c(-1,+1)
for (fb in Fehler)
for (fc in Fehler)
for (fd in Fehler)
print( log(a-(b+fb\*sb)/(c+fc\*sc))/(d+fd\*sd) )
[1] 64.67242
[1] 59.64038
[1] 64.67376
[1] 59.64162
[1] 64.66985
[1] 59.63801
[1] 64.67127
[1] 59.63932
Dabei ist 59.64038 der kleinste und 64.67376 der größte.
Wenn sb = bc = sd = 0, bekomme ich 62.054.
Stimmt die Formel? Stimmen die Werte?
LG
Jochen
Hmm okay also, erstmal einfach ohne Fehler:
x= ln((a-b)/c)/-d
mit werten
x= ln((149,27-92,18)/172,6)/-0,08061 = ln(0,330764774)/-0,08061
= -1,106347809/-0,08061 = 13,7246968 ~ 13,73
oder mach ich da gerade irgendwas falsch ? Tut mir leid bin aber momentan schwer verwirrt mach das mit der Fehlerfortpflanzung zum erstenmal…
Hmm okay also, erstmal einfach ohne Fehler:
x= ln((a-b)/c)/-d
mit werten
Aha!
Im Ausgangsposting stand aber:
x= ln(a-b/c)/-d
Da ist wohl ein Klammerfehler drin. Mit x= ln((a-b)/c)/-d komme ich auf einen Mittelwert von -13.7 und die Fehlergrenzen von -15.1 und -12.5.
oder mach ich da gerade irgendwas falsch ? Tut mir leid bin
aber momentan schwer verwirrt mach das mit der
Fehlerfortpflanzung zum erstenmal…
Nur ruhig! Alles wird gut!
LG
Jochen
Okay, soweit sogut. Und wie funktioniert das jetzt alles unter einbezuhg der Fehler. wie bestimmt ich jetzt x ± z ?
Ähm, die Bestimmung der Fehlergrenzen habe ich doch beschrieben. Die Beispielwerte sind evtl. falsch wegen der fehlenden Klammer, aber das Prinzip ist doch das selbe. Außerdem habe ich die Fehlergrenze angegeben, nämlich -15.1 und -12.5.
Wenn’s nicht ganz so genau darauf ankommt, kannst Du ja einfach
x = -13.7 ± 1.3 schreiben, obwohl der Fehlerbereich von x strenggenommen nicht symmetrisch zu -13.7 ist.
Ich gehe mal davon aus, dass Du weißt, wie ich auf die 1.3 gekommen bin.
LG
Jochen
Sorry, komm irgendwie auf kein Grünenzweig. Kannst du mir nochmal mit den partiellen ableitungen helfen.
Danke schonmal im vorraus
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Sorry, komm irgendwie auf kein Grünenzweig. Kannst du mir
nochmal mit den partiellen ableitungen helfen.
Du sagtest doch, die Fehlerangaben sind MAXIMALFEHLER.
Dann brauchst Du die Fehlerfortpflanzung die partiellen Ableitungen doch garnicht.
Zum Fehlerbereich des Maximalfehlers:
Rechne die Funktion für JEDE Kombination aus addierten und subtrahierten Maximalfehlern. Suche unter den Ergebnissen den kleinsten und den größten Wert. Das sind die Grenzen des Maximalfehlers der Funktion. Das ist ganz simpel.
LG
Jochen
Oh man okay, danke. Und nur mal aus interesse, wie säh das denn jetzt aus mit der partiellen ableitung ( wär super wenn du das nochmal aufführen könntest, solltest du lust und Zeit haben)
Also besten dank schonmal
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Also, dann nochmal:
Du hast eine Funktion („x“) mit verschiedenen Parametern („a“, „b“, „c“ und „d“), einige (oder auch alle) davon sind fehlerbehaftet („b“,„c“,„d“). Die Fehler liegen als Streuwerte vor, also zB. als Standardabweichung oder sowas. Du möchtest mithilfe der Fehlerfortpflanzung nun die Streuung des Funktionswertes berechnen. Dann ist das das Rezept:
bilde die partiellen Ableitungen der Funktion nach allen fehlerbehafteten Parametern.
setze die Parameterwerte in die Ableitungen ein, berechne die Werte der Ableitungen
multipliziere die Werte der Ableitungen mit den Quadraten der zugehörigen Fehlerwerten
addiere diese Produkte
ziehe die Wurzel aus der Summe
Das Ergebnis ist der Fehlerwert der Funktion.
Siehe auch: http://de.wikipedia.org/wiki/Fehlerfortpflanzung
LG
Jochen
kleine Korrektur …
Hallo, eine kleine Korrektur noch …
Gruß Kurt
Also, dann nochmal:
Du hast eine Funktion („x“) mit verschiedenen Parametern („a“,
„b“, „c“ und „d“), einige (oder auch alle) davon sind
fehlerbehaftet („b“,„c“,„d“). Die Fehler liegen als Streuwerte
vor, also zB. als Standardabweichung oder sowas. Du möchtest
mithilfe der Fehlerfortpflanzung nun die Streuung des
Funktionswertes berechnen. Dann ist das das Rezept:
bilde die partiellen Ableitungen der Funktion nach allen
fehlerbehafteten Parametern.setze die Parameterwerte in die Ableitungen ein, berechne
die Werte der Ableitungenmultipliziere die Werte der Ableitungen mit den Quadraten
der zugehörigen Fehlerwerten
addiere diese Produkte
ziehe die Wurzel aus der Summe
Das Ergebnis ist der Fehlerwert der Funktion.
Siehe auch: http://de.wikipedia.org/wiki/Fehlerfortpflanzung
LG
Jochen
Super, danke! (owT)
owT = ohne weiteren Text
Nachtrag:
Habe hier mitgelesen und Jo ein *chen gegeben, das ich drüben leicht erhascht habe.
Fehlerfortpflanzung zufälliger Fehler habe ich auch mal gelernt, aber … alles weg
Grüße Roland