Einführung in Mathematica V

Bearbeiten von Daten

© Jürgen Schnack, 2009/04/17

Problem

Irgendwelche experimentellen Daten, z.B. von einem Praktikumsversuch sollen eingelesen und bearbeitet werden

Einlesen von Daten

data=ReadList["cr8-T-Chi.dat",{Number,Number}]

Darstellen der Daten

LP1=ListPlot[data,PlotStyle->{Hue[0],PointSize[0.015]},TextStyle->{FontFamily->Helvetica,FontSize->18},PlotLabel->"χ",AxesLabel->{"T (K)","χ"}]

Daten (Suszeptibilität) konvertieren zu T χ/gmub

gmub=1.985*0.6717;
datb=Table[{data[[i,1]],data[[i,1]]*data[[i,2]]/gmub},{i,1,Length[data]}];

LP2=ListPlot[datb,PlotStyle->{Hue[0],PointSize[0.015]},TextStyle->{FontFamily->Helvetica,FontSize->18},PlotLabel->"Tχ",AxesLabel->{"T (K)","Tχ"}]

Daten durch Linearkombination von vorgegebenen Funktionen approximieren I

f0[x_]=Fit[datb,{1},x]

f1[x_]=Fit[datb,{1,1/x},x]

f2[x_]=Fit[datb,{1,1/x,1/x^2},x]

Daten durch Linearkombination von vorgegebenen Funktionen approximieren II

f7[x_]=Fit[datb,{1,1/x,1/x^2,1/x^3,1/x^4,1/x^5,1/x^6,1/x^7},x]

FP=Plot[{f0[T],f1[T],f2[T],f7[T]},{T,0.1,300},PlotRange->{0,11},PlotStyle->{Thick},TextStyle->{FontFamily->Helvetica,FontSize->18},PlotLabel->"Tχ",AxesLabel->{"T (K)","Tχ"}]

Daten durch Linearkombination von vorgegebenen Funktionen approximieren III

Show[FP,LP2]

Nonlinear Fit I

NonlinearFit fittet eine beliebige von Parametern abhängige vorgegebene Funktionen 
(NonlinearFit is replaced by FindFit.
NonlinearRegress functionality is now available using the built-in function NonlinearModelFit.)

TChi7[T_,a_,b_,c_,d_,e_,f_,g_,h_]=a+b/T^1+c/T^2+d/T^3+e/T^4+f/T^5+g/T^6+h/T^7

Para7=FindFit[datb,TChi7[T,a,b,c,d,e,f,g,h],{a,b,c,d,e,f,g,h},T]

Nonlinear Fit II

P7=Plot[TChi7[T,a,b,c,d,e,f,g,h]/.Para7,{T,0.1,100},PlotRange->{0,11},PlotStyle->{Green,Thick},TextStyle->{FontFamily->Helvetica,FontSize->18},PlotLabel->"Tχ",AxesLabel->{"T (K)","Tχ"}]

Show[P7,LP2]