MIT MATLAB LÖSEN?

Aufrufe: 644     Aktiv: 29.03.2020 um 10:43

0

Bestimmen Sie eine Parabel der Form f(x) := ax2 + bx + c so, dass der mittlere quadratische Abstand zu den Punkten (−2,3), (−1,0), (0,−1), (1,−1) und (2,2) minimal wird. Plotten Sie die Parabel und die Punkte.

Diese Frage melden
gefragt

Student, Punkte: 22

 
Kommentar schreiben
1 Antwort
0

Hallo Kartofel salat,

was du hier lösen möchtest ist ein so genanntes Ausgleichsproblem, also eine Minimierung der kleinsten Quadrate zwischen deinen Messwerten und den Funktionswerten deiner ermittelten Parabel. Ein solches Ausgleichsproblem lässt sich sehr gut mit MATLAB lösen, da du hierfür Matrizen aufstellen musst und damit weiter rechnest (u.a. Transponieren und Matrixmultiplikation).

Ein lineares Ausgleichsproblem ist definiert durch: \( \underset{x \in \mathbb{R}^n}{\min} \mid\mid  y - Ax \mid\mid \). Dabei ist y Der Vektor deiner Messwerte, A die Koeffizientenmatrix deiner Messstellen und x der gesuchte Vektor der zu bestimmenden Parameter deiner Parabel \( x = (a,b,c)^T \). Die Matrix A besteht aus 3 Spalten, weil eben 3 Variablen (a,b,c) vorliegen und 5 Zeilen, aufgrund der 5 Messpunkte. Jede Spalte der Matrix A enthält die Werte  \( (x^2 , x, 1) \). Für die Berechnung der Zeilen setzt du somit die x-Koordinate deiner Messpunkte ein und ermittelst auf diese Weise jede Zeile der Koeffizientenmatrix \( A \in \mathbb{R}^{m \times n} \). Der Vektor \( y \in \mathbb{R}^m \) enthält die entsprechenden y-Werte deiner Messpunkte. Die erste Zeile deiner Matrix A lautet z.B. \( (4, -2, 1) \) und der entsprechende y-Eintrag ist 3. So gehst du mit allen Messpunkten vor.

Wenn du nun die Matrix \( A \) und den Vektor \( y \) aufgestellt hast, kann die Berechnung von \( x \) mit MATLAB beginnen. Das Optimierungsproblem lässt sich in die sogenannte Normalengleichung überführen:

\( \underset{x \in \mathbb{R}^n}{\min} \mid\mid  y - Ax \mid\mid \quad \Leftrightarrow \quad A^TA x = A^T y \)

Die entsprechenden Matrixoperationen (Transponieren & Matrixprodukt) kannst du leicht mit MATLAB durchführen. Die Matrix \(A^TA \) ist eine quadratische Matrix der Dimension 3x3 und \( A^T y \) ist ebenfalls ein 3-dimensionaler Vektor. Was du nun noch tun musst, ist das Gleichungssystem nach \(x \) zu lösen. Dafür kannst du in MATLAB z.B. den Backslash Operator \ verwenden und du erhältst deinen Vektor x mit den entsprechenden Werten für a, b und c.

Falls noch was unklar ist, dann kannst du dich ja vorher nochmal über Ausgleichsprobleme bei Youtube und Google informieren, oder hier gern nochmal nachhaken.

Viele Grüße

Stefan

Diese Antwort melden
geantwortet

M.Sc., Punkte: 6.68K

 

Achja, wenn du die entsprechende Parabel mit den Parametern a, b und c bestimmt hast, dann ist es natürlich auch ein leichtes die in MATLAB zu plotten.

x = linspace(-3,3)
y = ax.^2 + bx + c
plot(x,y)
  ─   el_stefano 29.03.2020 um 10:43

Kommentar schreiben