Fit-Funktionen und co. < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 17:18 Fr 31.05.2013 | Autor: | xedex |
Aufgabe | Die folgenden drei Zeilen lesen aus der Datei "Daten.txt" die x- und y-Werte einer Messreihe ein.
inputstring = Import["http://physik.uni-graz.at/~pep/Daten.txt"];
stream = StringToStream[inputstring];
data = ReadList[stream, {Real, Real}];
pdata = ListPlot[data]
(a) Schreiben Sie mithilfe der Funktion "Fit" eine Funktion f[x,n], die das beste Polynom n-ten Grades durch die gegebenen Datenpunkte "data" bestimmt, und stellen Sie die Datenpunkte sowie die besten Fiotpolynome für n=1,2,3 graphisch dar. Wählen Sie dabei unterschiedliche Linienfarben für die drei Fitkurven.
(b) Schreiben Sie weiters eine Funktion [mm] \[Chi]2[list,n], [/mm] die die Summe der kleinsten Fehlerquadrate in Bezug auf die Daten in "list" und einem Fitpolynom der Ordnung "n" berechnet. Verwenden Sie dabei "Module" und achten Sie darauf, dass etwaige Zwischenschritte als lokale Variablen behandelt werden.
Noch ein Hinweis: Wenn Sie selbst numerische Ergebnisse aus Mathematica in ein Textfile exportieren wollen, dann können Sie das wie in dem folgenden Beispiel erreichen (so wurde das Datenfile "Daten.txt" erzeugt)
g[x_] := 5 + 2 x + [mm] x^2 [/mm] + [mm] x^3/5
[/mm]
scatter = {-0.2, +0.2};
data = Sort[
Table[{x + RandomReal[scatter], g[x + RandomReal[scatter]]}, {x, 0,
6, 0.1}]];
str = OpenWrite["Daten.txt"];
WriteString[str, TableForm[data, TableSpacing -> {0, 2}]]
Close[str]; |
Ich hab keine Ahnung, wie ich das Lösen kann!
hab zwar angefangen, jedoch bin ich mir nicht sicher, ob ich das richtig gemacht habe. Bitte um Unterstützung!mfg
(* a *)
inputstring = Import["http://physik.uni-graz.at/~pep/Daten.txt"];
stream = StringToStream[inputstring];
data = ReadList[stream, {Real, Real}];
pdata = ListPlot[data]
datenpunkte = Fit[data, {1, x, [mm] x^2, x^3}, [/mm] x]
datenpunkte1 = Fit[data, {1, x}, x];
datenpunkte2 = Fit[data, {1, [mm] x^2}, [/mm] x];
datenpunkte3 = Fit[data, {1, [mm] x^3}, [/mm] x];
Plot[datenpunkte, {x, 0, 10}];
plot1 = Plot[datenpunkte1, {x, 0, 10}, PlotStyle -> Red ];
plot2 = Plot[datenpunkte2, {x, 0, 10}, PlotStyle -> Blue];
plot3 = Plot[datenpunkte3, {x, 0, 10}, PlotStyle -> Green];
Show[plot1, plot2, plot3]
(* b *)
keine Ahnung!!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:20 Fr 07.06.2013 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|