|
|
Hilfe bei Umsetzung meiner fertigen Aufgabe (Numerik) |
|
Miomio |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.01.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.01.2013, 12:39
Titel: Hilfe bei Umsetzung meiner fertigen Aufgabe (Numerik)
|
|
Moin allerseits,
ich soll für meine Uni-Aufgabe meine angefertigte Aufgabe in Matlab simulieren, doch leider falle ich da ständig auf die Nase. Es handelt sich um das Normalgleichungsverfahren, hoffe ihr könntet mir Tipps für die Zusammenstellung geben.
Also die Aufgabe sieht wie folgt aus: Gegeben sind
Wertepaare in meinem Fall xi 1| 2 | 3 | 4 |
yi 6 | 6,8 | 10 | 10,5 |
Gesucht ist eine Ausgleichsgerade in der From y = ax+b
=> F: ={a1*f1 +a2*f2}
mit den Ansatzfunktionen f1(x)=x f2(x)=1
falls ich meine weiteren Rechenschritte posten soll, so gibt mir bitte bescheid.
MfG
|
|
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 16.01.2013, 13:56
Titel: Re: Hilfe bei Umsetzung meiner fertigen Aufgabe (Numerik)
|
|
Miomio hat Folgendes geschrieben: |
Gesucht ist eine Ausgleichsgerade in der From y = ax+b
=> F: ={a1*f1 +a2*f2}
mit den Ansatzfunktionen f1(x)=x f2(x)=1
|
Hallo,
kannst du das bitte mal näher erklären.
Grüße, Marc
|
|
|
Miomio |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.01.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:06
Titel:
|
|
Also gesucht ist eine Gerade (in der Form y=ax+b), die die oben gegeben wertepaare gut approximiert. Letztendlich kommt nach allen Rechenschritten die Gerade y=1,67x+4,15 zustande.
Hoffe das ist die Erklärung für dein Frage ! Danke
MfG
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:13
Titel:
|
|
Du möchtest also nun per MATLAB das Gauß'sche Normalengleichungssystem aufstellen und lösen?
|
|
|
Miomio |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.01.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:15
Titel:
|
|
Genau und, dass zum Schluss die Gerade mit den jeweiligen Punkten dargestellt wird.
|
|
|
markuman |
Forum-Guru
|
|
Beiträge: 320
|
|
|
|
Anmeldedatum: 14.12.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:17
Titel:
|
|
Sollst du deinen eigenen Rechenweg in Matlab programmieren? Oder spielt es keine Rolle wie es in Matlab passiert.
http://git.osuv.de/Octave/tree/plot.....ts_with_regressionsline.m
Das (sinnfreie) Beispiel hier approximiert zB. eine Gerade durch 4 Plots/Messreihen.
Vielleicht hilft dir das, sonst musst du (für mich) genauer werden.
###EDIT
Als ich das verfasst hab, existierten die beiden Postings über mir noch nicht Einfach mein Posting überlesen....
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Zuletzt bearbeitet von markuman am 16.01.2013, 14:18, insgesamt einmal bearbeitet
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:18
Titel:
|
|
Gut, wie hast du A aufgestellt? Der Schritt nach A^T*A ist dann ja eher trivial...
|
|
|
Miomio |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.01.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:30
Titel:
|
|
also ich weiss jetzt leider nicht was du genau meinst, aber im ersten Schritt habe minimiere ich das Fehlerfunktional=> dann erhalte ich eine Summe
diese leite ich partiell nach parameter a ab.
multipliziere das x aus.
Diese Ableitung setze ich =0,
erhalte eine gleichung
die gleichen Schritte folgen für die partielle Ableitung nach b
nun forme ich die gleichung partiell nach a und b um
ziehe die summen auseinander
=> stelle ein LGS für unbekannte auf ( Matrix-Vektor-Form)
setze die Wertepaare ein multipliziere diese mit den unbekannten
=>erhalte die n werte ( die der summen )
nun stelle ich ein LGS auf und bestimmte die parameter
zum schluss setzte ich die parameter in die Ausgleichsgerade ( y=ax+b) ein
und erhalte y=1,67x+4,15
Ich hoffe das ist halbwegs verständlich was ist da erklärt habe
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:44
Titel:
|
|
Das ist verständlich, hat aber nichts mit der Normalengleichung zu tun. Soll das nun zwingend über die Normalengleichung gelöst werden?
|
|
|
Miomio |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.01.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:45
Titel:
|
|
Ja das ist das Normalgleichungsverfahren (Numerik) und es soll genau so gelöst werden...
Danke
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:54
Titel:
|
|
Nein, das ist der differentielle Ansatz. Das Normalengleichungsverfahren kommt ohne Ableitung aus. Also nochmal die Frage: Weißt du, was die Normalengleichung ist und wie man diese aufstellt?
|
|
|
Miomio |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.01.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.01.2013, 14:58
Titel:
|
|
Dann weiß ich es nicht dachte sowie ich es bisher gemacht habe, dass es das Verfahren ist...
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 16.01.2013, 15:16
Titel:
|
|
Du hast eine Gerade als Modellfunktion. Das führt zu einem überbestimmten Gleichungssystem:
I y1=a*x1+b
II y2=a*x2+b
III y3=a*x3+b
usw.
=> A*(a,b)^T*x=c <=> A^T*A*(a,b)^T*x=A^T*c (Gauß'sche Normalengleichung)
Der Backslash-Operator von MATLAB ist aber bereits in der Lage, das überbestimmte System zu lösen. Das geschieht effizienter als über das GNGLS.
|
|
|
Miomio |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.01.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.01.2013, 15:29
Titel:
|
|
okey.... lässt sich denn damit mein sachverhalt darstellen und programmieren?
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 16.01.2013, 15:32
Titel:
|
|
Ja, unbedingt. Du kannst A über zwei Vektoren aufstellen. Welche das sind, sieht man ja an meinem Beispiel, c ebenfalls. Damit hast du dann das Gleichungssystem.
Welche Kenntnisse in MATLAB hast du denn? Müsste man bei 0 anfangen?
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|