Forum: Digitale Signalverarbeitung / DSP / Machine Learning Automatische Analyse von Gleichungen bez. Fehlerrechnung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von He. (Gast)


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.

von He. (Gast)


Lesenswert?

Keiner eine Idee? Bin ich der Einzige, der mit solchen 
Aufgabenstellungen konfrontiert ist?

von Kolja L. (kolja82)


Lesenswert?

Hatte das für meine MA damals auch mit Python gemacht und kann mich an 
irgendeine lib erinnern die dabei behilflich war. Uncertain...?

von Jan K. (jan_k)


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:
- https://github.com/SciML/SciMLExpectations.jl und 
https://docs.sciml.ai/SciMLExpectations/stable/tutorials/introduction/
- https://github.com/JuliaPhysics/Measurements.jl (Unsicherheiten in 
Eingangs-/Ausgangsdaten)
- Monte Carlo: https://github.com/baggepinnen/MonteCarloMeasurements.jl
- all-in-one, aber ziemlich neu: 
https://github.com/FriesischScott/UncertaintyQuantification.jl 
(ungetestet)

von Christoph db1uq K. (christoph_kessler)


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.

von He. (Gast)


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.

von -gb- (Gast)


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.

von He. (Gast)


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).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.