Apparent accuracy error in least squares fit
- To: mathgroup at smc.vnet.net
- Subject: [mg66150] Apparent accuracy error in least squares fit
- From: Daniel Ortega Ponce <daniel.ortega at uca.es>
- Date: Mon, 1 May 2006 01:30:37 -0400 (EDT)
- Organization: Universidad de Cadiz
- Sender: owner-wri-mathgroup at wolfram.com
Hello to every one, I'm trying to perform a least squares fit wiht a two column set of experimental data to a function which includes the Coth[x]. The code is: data = ReadList["c:/data.txt", {Number, Real}]; g = Apply[Plus, Map[Sqrt[f[#[[1]], #[[2]]]^2] &, data]]; {sol1, sol2} = NMinimize[{g, 0 < a, 0 < b, Mo > 0}, {a, b, Mo}] a = a /. sol2; Mo = Mo /. sol2; b = b /. sol2; Print["Fit confidence = ", sol1]; Print["a = ", a]; Print["b = ", b]; Print["Mo = ", Mo, " emu/g"]; T = Transpose[data] // First; sol = Map[FindRoot[f[#, Ms] == 0, {Ms, 50, 200}] &, T]; data2 = Thread[{T, Ms /. sol}]; h[x_] = Interpolation[data2][x]; Print["Ms[0] = ", h[0], " emu/g"]; grp1 = ListPlot[ data, Axes -> None, Frame -> True, PlotRange -> {0, 12}, PlotStyle -> \ {PointSize[0.02], RGBColor[0, 0, 0]}, DisplayFunction -> Identity]; grp2 = Plot[h[ x], {x, 0, 810}, Axes -> None, Frame -> True, PlotStyle -> {Thickness[0.007], RGBColor[1, 0, 0]}, DisplayFunction -> Identity]; While executing it, I get the following message: FindRoot::lstol: The line search decreased the step size to within tolerance \ specified by AccuracyGoal and PrecisionGoal but was unable to find a \ sufficient decrease in the merit function. You may need more than \ MachinePrecision digits of working precision to meet these tolerances. I've tried to adjust these parameters in many ways unsuccessfully. Is there any problem with the Coth[x] argument value that makes the function to diverge? Here is some data included in the data.txt file: {300., 2.7933}, {350., 2.7832}, {400., 2.7452}, {450., 2.6898}, {500., 2.5623}, {550., 2.3616}, {600., 2.0242}, {650., 1.5675}, {700.,1.0732}, {740., 0.693}} I've test the program with a higher input values and it worked, namely: {300., 9.4478}, {350., 9.1237}, {400., 8.6531}, {450., 8.0999}, {500., 7.4426}, {550., 6.706}, {600., 5.8785}, {650., 4.9522}, {700., 3.8981}, {750., 2.9685} Excuse the mail length. Thank you in advance, Daniel Ortega