Automatische Analyse von Gleichungen bez. Fehlerrechnung

Gast #7363795
Lesenswert?

Eine Frage an die Mathe-Experten:

Gibt es (z.B. in MATLAB?) eine Funktion, welche Gleichungen einer Fehlerrechnung unterzieht?

Als Beispiel eine Funktion wie ein Filter: Beitrag "Wie bekomme ich IIR Filterkoeffizienten Ganz-Zahlig?"

bei der man angibt, welchen Parameter man wie belegt und welche Toleranz er hat? Die Toleranz ergibt sich in einigen Fällen aus der gewählten Genauigkeit der Variablen, die das Ergebnis nicht beeinflussen sollen, weil genau genug und in anderen Fällen aus der Physik, weil Eingangswerte nicht genau genug bekannt sind und rauschen.

Das würde man getrennt untersuchen können, wenn man alle Fälle der Abweichungen als Kombination in die Formel hineingibt und es durchspielt.

Das habe ich schon mit Python gemacht, würde es aber gerne automatisieren, um nicht jedesmal die Formel in Python abbilden zu müsssen.

#7389788
Lesenswert?

Nein, gibt es afaik nicht. Musst du über Monte Carlo machen und zig Wiederholungen rechnen. Dafür müsste Matlab auf Datentypebene mit Verteilungen klar kommen, was es nicht tut.

In Julia gibt es zumindest Ansätze:

#7390113
Lesenswert?

Genau in dem genannten Thread hat ja Jürgen S. eine "Anekdote" zum Thema Matlab erzählt, in deren Verlauf er deren Leute als "bachelor-Entwickler" beschimpft: Beitrag "Re: Ganzzahlprobleme mit MATLAB" ...gehen daher davon aus, dass MATLAB das schon richten wird ... Ich hätte auch gedacht, dass man von so einem "professionellen" Programm mehr erwarten darf.

Gast #7390233
Lesenswert?

Jan K. schrieb:

In Julia gibt es zumindest Ansätze:

Interessant, danke!

Christoph db1uq K. schrieb:

...gehen daher davon aus, dass MATLAB das schon richten wird ...

Solange es Monte Carlo ist, bleibt es natürlich zufällig. Die Abdeckung des Problems ist es dann sicher auch.

Das ist auch mein Problem mit MATLAB. Eigentlich müsste man eine vollständige Abdeckung erzielen können, wenn das Programm die Formel analysiert.

Gast #7390237
Lesenswert?

Christoph db1uq K. schrieb:

Genau in dem genannten Thread hat ja Jürgen S. eine "Anekdote" zum Thema Matlab erzählt,

... was auch nicht ganz falsch ist. der MATLAB-Coder, der VHDL oder C erzeugt, ist auch nicht gerade das allerintelligenteste Biest. Da kann Python deutlich mehr.

Wenn du an das Ende des threads blätterst, findest du meinen Vorschlag: Beitrag "Re: Wie bekomme ich IIR Filterkoeffizienten Ganz-Zahlig?"

Für die Genauigkeit rechne man mit mehren Ansätzen nacheinander dieselbe Rechnung durch. Durch eine Mittelung erhält man den geringsten Fehler. Durch Weiterverwenden der Extrema den Maxmimalen.

Die Rechnung muss dann eben für jeden Parameter zweimal durchgeführt werden. Mit etwas Intelligenz, erhält man aus jeder neuen Rechnung dann 4 Werte, die wieder 2 Extreme bilden. Diese setzt man in die neue Rechnung ein.

Gast #7431329
Lesenswert?

-gb- schrieb:

Für die Genauigkeit rechne man mit mehren Ansätzen nacheinander dieselbe Rechnung durch. Durch eine Mittelung erhält man den geringsten Fehler. Durch Weiterverwenden der Extrema den Maxmimalen.

Solche Sachen wollte ich mir eben sparen und dachte, daß das auch irgenwie automatisch gehen müsste. Ich meine, eigentlich haben doch alle Entwickler diesen Bedarf, bei einer Simulation die Extra abzufahren.

So wird alternativ vorgeschlagen, das Problem statistisch zu lösen und beispielsweise mit zufälligen Werten zu arbeiten, die das Feld abdecken (sollen).

#7541830
Lesenswert?

Purzel H. schrieb:

Fehlerrechnung ist doch Physik-1, nicht wirklich schwierig. Die Summe aller partiellen Ableitungen mal den dortien Parameter oder so aehnlich

Geht aber nur, wenn du die Funktion hast, die du ableiten willst.. gibts aber häufig nicht.

In Matlab/Simulink gibts ne Toolbox https://www.mathworks.com/help/sldo/sensitivity-analysis.html, aber afaik ist das rein datenbasiert.

#7541899
Lesenswert?

He. schrieb:

So wird alternativ vorgeschlagen, das Problem statistisch zu lösen und beispielsweise mit zufälligen Werten zu arbeiten, die das Feld abdecken

Das ist ein wenig auch eine Perspektivenfrage. Bei so Alarmgeschichten hat man meist 4 (oder 8)Fragen: Ereignis, kein Ereignis, Erkannt, nicht erkannt. Dann gibt es aber auch noch falschen Alarm, oder Ereignis übersehen. Habe ich was vergessen? hm.. https://www.sciencedirect.com/topics/mathematics/false-alarm-rate

..Virenscanner glänzen ja oft mit falschen Alarm(raten). Beim Testen kann man sich mit Boolwerten behelfen. Reichen die nicht, könnte man Fuzzy Mengen einsetzen, wo einem die Digitaltechnik grundsätzlich ganz gut entgegen kommt.

Beschleunigung könnte man mit FSMs erreichen.

Das Licht praktiziert knallharte Wahrscheinlichkeitsrechnung - warum also nicht öfter damit (also mit Wahrscheinlichkeit) rechnen?

Schachcompies profitieren von großen Datenmengen.. wobei auch da die Wahrscheinlichkeitsrechnung so einiges erleichtert. Wenn man sich selbst dabei beobachtet, dann wird man auch irgendwann "wissen": "Nein, diesen Zug bei dieser Stellung lieber nicht (mehr)".

Gast #7544216
Lesenswert?

Rbx schrieb:

Das ist ein wenig auch eine Perspektivenfrage. Bei so Alarmgeschichten hat man meist 4 (oder 8)Fragen: Ereignis, kein Ereignis, Erkannt, nicht erkannt. Dann gibt es aber auch noch falschen Alarm, oder Ereignis übersehen. Habe ich was vergessen? hm..

Ich hatte die Frage so verstanden, dass es um mathematische, arithmetisch Gleichungen geht und nicht um Boolsche.

Macht Matlab das nicht?

Persönliche Seite #7635469
Lesenswert?

Frank S. schrieb:

Der Gleichungsumsteller ist gut, für faule oder zum überprüfen ob man richtig gerechnet hat:

Die Gleichungen müssten schon differenziert werden. Das geht mit Maple z.b. bringt aber das Thema nicht unbedingt weiter. Es benötigt in dem Fall die Werte, die sich an kritischen Stellen ergeben. Das führt schon zu einer Art Kurvendiskussion.

Und es bleibt das bereist angesprochene Problem, dass es für viele Anwendungen keine passenden Gleichungen gibt. Die müssten nämlich linear / stetig sein, auch wahrscheinlich auch stetig differenzierbar.

Hier braucht es eine Variationsrechnung und die ist nicht belieb automatisierbar.

#7635495
Lesenswert?

Guck dir die metasUncerLib (vom METAS dem Schweizer Metrologie Institut) an. Die kann für die meisten Mathe-Operationen eine GUM konforme Unsicherheits-propagation.

Wenn was mit GUIbund monte-Carlo sein soll, gibt's vom LNE (Franz. Metrologie institut) auch ein Tool.

https://www.metas.ch/metas/en/home/fabe/hochfrequenz/unclib.html

https://www.metas.ch/metas/en/home/fabe/hochfrequenz/unclib.html

J. S. schrieb:

Und es bleibt das bereist angesprochene Problem, dass es für viele Anwendungen keine passenden Gleichungen gibt. Die müssten nämlich linear / stetig sein, auch wahrscheinlich auch stetig differenzierbar.

Da hilft dann die Brechstange Monte-Carlo.

In der Regel sind aber systematische Effekte die aus nicht modellieren Fehlern stammen die Spielverderber.

Persönliche Seite #7636827
Lesenswert?

Benedikt S. schrieb:

Da hilft dann die Brechstange Monte-Carlo.

Das sehe ich nicht als Lösung, um wirklich Fehlerrechnung zu betreiben, weil es einfach nur Ausschnitte des Möglichkeitsraums liefert. Man braucht schon die jeweils maximalen Grenzen.

Wenn ich pipelines in FPGAs mit EXcel baue, dann mache ich das so. Nach jedem Schritt wird automatisch ein neues Min,Max,Typ aus den sich ergebenden Wertefolgen ermittelt und für den nächsten Schritt gesetzt.

Das ist besonders interessant, wenn mal einmal etwas verändert und kurz schauen möchte, ob es zu technischen oder funktionellen Überläufen kommt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren