Fitting code for mathematica
Saturday, November 27th, 2004I’m doing a lot of datafitting at the moment, so I have developed a script for mathematica,
that does the work for me, it is minded on picoscope data, but hey, I’m posting this
so I can fetch it form whereever I must be..
SetDirectory["/Users/mdj/Desktop/rod/rulledata/clean"];
“Vælg en datafil på formatet tid i millisekunder : spænding i millivolt”;
rawdata = Import["4.txt", "Table"];
“Vælg en kalibreringsfil, i formatet meter : volt”;
rawkali = Import["kali.txt", "Table"];
“Angiv et interval hvor du vil fitte”;
fitinterval = 466;
“Angiv en funktion, ved andet end x^2, skal du tage højde for at differentiere korrekt”;
fitfunktion = x^2;
“Plotter input data”;
rawplot = ListPlot[rawdata,
PlotJoined -> True, PlotStyle -> {RGBColor[0, 1, 1],
RGBColor[0, 1, 0]}]
“Transformerer tid fra milliskunder til sekunder”;
rawtid = rawdata[[All, 1]]/1000000;
“Transformerer millevolt om til meter”;
rawvolt = rawdata[[All, 2]]/1000/D[Fit[rawkali, {1, x}, x], x];
“Fitter og viser grafer”;
kalibra = Table[{rawtid[[i]], rawvolt[[i]]}, {i, 1, Length[rawtid]}];
fitted = Fit[Take[kalibra, {1, fitinterval}], {1, x, fitfunktion}, x];
Show[ListPlot[Take[kalibra, {1, fitinterval}],
PlotJoined -> True], Plot[fitted, {x, 0,
1}, PlotStyle -> {RGBColor[1, 0, 0],
RGBColor[0, 0, 1]}], AxesLabel -> {”[s]“, “[m]“}];
“Den fittede funktion”
fitted
“Finder accelerationen for en andengrads ligning”
Abs[D[D[fitted, x], x]]