Hallo Martin,
>> Eure Überlegung wäre korrekt gewesen, wenn NonlinearRegress[] den
Ausdruck Sum[(e_i/w_i)^2, {i, 1, N}]
>> minimieren würde.
Das ist natürlich eine Falschaussage, haben Sie es bemerkt?
Man kann noch mit einem relativen Gewicht arbeiten:
With[{a = 20., c = 0., g = 1., xL = -2., xR = 2., anZ = 100},
data = ({#, Lorentz[#, a, c, g] + Random[NormalDistribution[0.,
sigma[Lorentz[#, a, c, g]]]]} & ) /@ Sort[Table[Random[Real, {xL, xR},
8], {anZ}]];
ListPlot[data];
Table[{j, NonlinearRegress[data, Lorentz[x1, a1, c1, g1], {x1}, {a1,
c1, g1},
Weights -> ((sigma[#]/#)^j &), RegressionReport -> BestFitParameters]},
{j, -2, 2, 1/2}
]
]
Dann ist j = -1/2 der beste Fit:
Out[7]=
{{-2, {BestFitParameters -> {a1 -> 21.4755, c1 -> 0.00241824, g1 ->
1.04631}}},
{-3/2, {BestFitParameters -> {a1 -> 21.0309, c1 -> 0.00405256, g1 ->
1.03672}}},
{-1, {BestFitParameters -> {a1 -> 20.5588, c1 -> 0.00566359, g1 ->
1.02615}}},
{-1/2, {BestFitParameters -> {a1 -> 20.0311, c1 -> 0.00726835, g1 ->
1.01367}}},
{0, {BestFitParameters -> {a1 -> 19.3897, c1 -> 0.00898065, g1 ->
0.997393}}},
{1/2, {BestFitParameters -> {a1 -> 18.5286, c1 -> 0.0111812, g1 ->
0.973647}}},
{1, {BestFitParameters -> {a1 -> 17.2917, c1 -> 0.014804, g1 ->
0.936625}}},
{3/2, {BestFitParameters -> {a1 -> 15.5292, c1 -> 0.0216204, g1 ->
0.879865}}},
{2, {BestFitParameters -> {a1 -> 13.2368, c1 -> 0.0344181, g1 ->
0.801408}}}}
Gruss
Udo.