0 Daumen
626 Aufrufe

Einen wunderschönen Tag erst mal.


Zu allererst möchte ich erwähnen das ich nicht gerade ein begabter Mathematiker bin, sich mir aber aktuell eine Frage aufdrängt die ich in der Arbeit habe und ich gerne wissen würde wie man auf die Koeffizienten A,B und C kommt.

Es handelt sich dabei um eine kubische Funktion ohne Absolutglied die zum Interpolieren verwendet wird.

M = A*S3+B*S2+C*S

Gegeben sind mir die Werte bereits.

A = 0,06424

B = -0,0163426

C = 499,249


Zudem sind mir 9 Stützpunkte bekannt:


Moment (M) Signal (S) 
00
1000,20033
2000,40064
3000,60093
4000,80118
5001,00140
6001,20159
8001,60194
10002,00212


Meine Frage ist: Wie berechnen sich die Parameter A,B und C aus den gegebenen Stützpunkten?


Ich hoffe Ihr könnt mir helfen und mir das erklären das ich es einigermaßen verstehe.


Vielen Dank

Avatar von

3 Antworten

0 Daumen
 
Beste Antwort

Nachdem mehr Stützpunkte gegeben sind als Koeffizenten läuft das auf eine Regression hinaus.

Beschrieben unter

https://www.geogebra.org/m/YjjE9nwR

kommst Du damit klar oder brauchst Du weiteren Input?

Nachtrag:

Das sieht allerdings mehr nach einer linearen Funktion aus mit diesen Werten?

blob.png

\( p(x)=0.00652 x^{3}+0.15107 x^{2}+499.14097 x-0.00031 \)



oder müssen die Punkte exakt getroffen werden, evtl. auch eine Spline-Interpolation

Avatar von 21 k

Vielen lieben Dank, das hilft mir schon mal sehr viel weiter und ich werde mal schauen ob ich damit klar komme.

Falls ich damit nicht klar komme melde ich mich nochmals hier, aber dies ist schon mal ein guter Anhaltspunkt für mich den ich durcharbeiten kann bis ich das nachvollziehen kann.



PS.: Es handelt sich dabei nicht um eine lineare Funktion. Das sieht im Beispiel mit diesen Werten zwar zufällig so aus, ist aber nicht immer so linear.

Exakt getroffen müssen die Punkte nicht, da sich daraus noch eine Interpolationsabweichung berechnen lassen muss.


Zur kurzen Erklärung:

Im oben genannten Beispiel werden elektrische Messwerte (mV/V) in eine Krafteinheit umgerechnet (N). Die gegebenen Stützpunkte sind genau bekannt, alles was dazwischen ist muss interpoliert werden. D.h. zum Beispiel das genau bekannt ist das der Kraftaufnehmer bei 100 N Belastung, ein elektrisches Signal von 0,20033 mV/V ausgibt.

Es muss sich dann errechnen lassen wie viel N es sind wenn der Kraftaufnehmer z.B. 0,25461 mV/V ausgibt.

Die Linearität solcher Werte ist abhängig vom System und ist nicht immer so schön linear wie im Beispiel.


Ich danke dir erstmal für deine schnelle Antwort und melde mich bei Bedarf noch einmal.

Klar,

wenn Du die App verwenden willst dann sind die Daten als

{(0, 0), (0.20033, 100), (0.40064, 200), (0.60093, 300), (0.80118, 400), (1.0014, 500), (1.20159, 600), (1.60194, 800), (2.00212, 1000)}

einzugeben!

aber die Kollegen haben ja schon Beispielrechnungen angelegt...

BTW: die Rechnung kann man auch leicht in einer Tabkalk als Trendfunktion eines Punktdiagramms erschlagen?

0 Daumen

Hallo Nowe,

kurz erklärt, sieht das in Deinem konkreten Fall so aus. Das Ziel ist es, die sogenannte Normalengleichung zu lösen:$$A^T\cdot A \cdot \alpha = A^T\cdot z \quad \text{für:}\space M = A\cdot S^{3}+B\cdot S^{2}+C\cdot S$$Der Vektor \(\alpha\) sind die drei Koeffizienten$$\alpha = \begin{pmatrix}A\\ B\\ C\end{pmatrix}$$Der Vektor \(z\) ist der Vektor der Funktionswerte, also in diesem Fall die Werte für \(M_i\):$$z = \begin{pmatrix}0\\ 100\\ 200\\ 300\\ 400\\ 500\\ 600\\ 800\\ 1000\end{pmatrix}$$und \(A\) ist ein Matrix mit drei Spalten, jeweils alle Werte \(S_i^3\), \(S_i^2\) und \(S_i\)$$A = \begin{pmatrix}0& 0& 0\\ 0.00804& 0.04013& 0.20033\\ 0.06431& 0.16051& 0.40064\\ 0.21701& 0.36112& 0.60093\\ 0.51427& 0.64189& 0.80118\\ 1.00421& 1.00280& 1.0014\\ 1.73488& 1.44382& 1.20159\\ 4.11092& 2.56621& 1.60194\\ 8.02547& 4.00848& 2.00212\end{pmatrix}$$(jeweils gerundet)

In die Normalengleichung (s.o.) eingesetzt, gibt das ein Lineares Gleichungssystem mit der Lösung$$\begin{pmatrix}A\\ B\\ C\end{pmatrix} = \begin{pmatrix}0.006214\\ 0.15216\\ 499.140\end{pmatrix}$$was ein wenig von der Lösung, die Du genannt hast, abweicht.

Allerdings wie wächter schon erwähnt hat, hast Du auch mit \(M=499,4\cdot S\) eine ziemlich gute Näherung.

Avatar von 48 k

Hallo Werner

Vielen Dank auch für deine Antwort.

Diese ist für mich tatsächlich noch einfacher zu verstehen als der Link von Wächter.

Ich würde diese gern noch als Beste Lösung für mich markieren, da ich sie noch leichter verstehe, wenn ich nicht schon die obengenannte von Wächter markiert hätte, sehe aber nicht ob und wo das geht.

Die Abweichung deiner Lösungen zu meinen enstehen durch Rundungsfehler der Werte S. Die S-Werte die für die Berechnung der Koeffizienten verwendet werden haben mehr Nachkommastellen als im Protokoll angegeben. Mir geht es dabei grundsätzlich um die Nachvollziehbarkeit für mich, damit ich überhaupt verstehe wie diese Werte zustande kommen.

Vielen Dank für deine Antwort.

0 Daumen

Aloha :)

Du hast hier 9 Messpunkte gegeben. Es wird erwartet, dass die Punkte mittels einer Funktion$$f(s)=as^3+bs^2+cs$$beschrieben werden können. Deine Aufgabe ist es nun, die Parameter \(a,b,c\) so zu bestimmen, dass die Funktion möglichst gut die Lage der Punkte trifft.

Im ersten Schritt kann man die Punkte in die Funktionsgleichung einsetzen und ein Gleichungssystem aufstellen:$$\begin{array}{ccc|c}a & b & c & =\\\hline 0,00000 & 0,00000 & 0,00000 & 0 \\\hline 0,00804 & 0,04013 & 0,20033 & 100 \\\hline 0,06431 & 0,16051 & 0,40064 & 200 \\\hline 0,21701 & 0,36112 & 0,60093 & 300 \\\hline 0,51427 & 0,64189 & 0,80118 & 400 \\\hline 1,00421 & 1,00280 & 1,00140 & 500 \\\hline 1,73488 & 1,44382 & 1,20159 & 600 \\\hline 4,11092 & 2,56621 & 1,60194 & 800 \\\hline 8,02547 & 4,00848 & 2,00212 & 1000 \end{array}$$

Diese Gleichungen kann man in die Matrix-Schreibweise überführen:$$\underbrace{\left(\begin{array}{rrr}0,00000 & 0,00000 & 0,00000\\0,00804 & 0,04013 & 0,20033\\0,06431 & 0,16051 & 0,40064\\0,21701 & 0,36112 & 0,60093\\0,51427 & 0,64189 & 0,80118\\1,00421 & 1,00280 & 1,00140\\1,73488 & 1,44382 & 1,20159\\4,11092 & 2,56621 & 1,60194\\8,02547 & 4,00848 & 2,00212\end{array}\right)}_{\eqqcolon A}\begin{pmatrix}a\\b\\c\end{pmatrix}=\underbrace{\begin{pmatrix}0\\100\\200\\300\\400\\500\\600\\800\\1000\end{pmatrix}}_{\eqqcolon\vec v}$$

Wir haben es hier mit einem überbestimmten Gleichungssystem zu tun. Es gibt mehr Gleichungen als Variable. Wir erwarten daher, dass nicht alle Gleichungen zugleich exakt erfüllt sein werden. Gemäß der Methode der kleinsten Fehlerquadrate minimiert man die quadratischen Abweichungen der Messpunkte von Kurvenverlauf, indem man die Matrix-Gleichung mit der transponierten Koeffizienten-Matrix von links multipliziert und das entstehende Gleichungssystem löst. Die Gleichung$$A^T\cdot A\cdot\begin{pmatrix}a\\b\\c\end{pmatrix}=A^T\cdot\vec v$$schreibe ich nicht explizit hin, sondern gebe nur das Ergebnis an:$$\left(\begin{array}{rrr}85,64176 & 46,65043 & 26,31342\\46,65043 & 26,31342 & 15,67909\\26,31342 & 15,67909 & 10,22497\end{array}\right)\begin{pmatrix}a\\b\\c\end{pmatrix}=\begin{pmatrix}13141,71\\7830,353\\5106,238\end{pmatrix}$$

Die Lösung dieses Gleichungssystems lautet:$$\begin{pmatrix}a\\b\\c\end{pmatrix}=\begin{pmatrix}0,006214\\0,152158\\ 499,1399\end{pmatrix}$$Ich habe die Matrix-Rechnungen exakt mit Excel durchgeführt, das kann die Abweichungen zu deinem Ergebnis erklären. In jedem Fall erkennt man jedoch, dass der lineare Beitrag \(c\) überwiegt. Die Punkte liegen also sehr gut auf einer Geraden.

Avatar von 148 k 🚀

Vielen Dank auch für deine Antwort.

Die Abweichung zu meinen Werten kommen dadurch zustande das der ursprüngliche Berechner der Koeffizienten mit mehr Nachkommastellen arbeiten kann als ich am Protokoll sehe.


In der Tat sind die Werte im Beispiel sehr linear, das ist aber nicht immer der Fall so.

Darüber hinaus ist für die Genauigkeit des Messsystems eine möglichst genaue Interpolation notwendig.


Vielen Dank für deine Antwort.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community