Archive for November, 2004

Fitting code for mathematica

Saturday, November 27th, 2004

I’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]]