Hallo,
also ich hatte da gestern Abend eine kleinen Aussetzer.
Nat"urlich kann man das viel eleganter mit FoldList[] machen,
dann f"allt auch das h"assliche i++ weg. Sch"on ist es mit
fitlist =
Rest[
FoldList[(
{a, b} /. (BestFitParameters /.
NonlinearRegress[#2, a + Exp[b*t],
t, {{a, #1[[1]]}, {b, #1[[2]]}},
RegressionReport -> {BestFitParameters}])) &,
{0.1, 0.01},
data
]
]
T'schuldigung & Gruss
Jens
Jens Bredenbeck wrote:
>
> wunderhübsch - so funktioniert das also! Und eine Reihe neuer
> Mathematica Funktionen...
>
> Jens-Peer Kuska wrote:
>
> >Hallo und iiiiihhhhh
> >
> >eine Do[]-Schleife, so was Ekliges zu posten! Wie w"ar's
> >mit
> >
> >Needs["Statistics`NonlinearFit`"]
> >
> >data = Table[a + Exp[-a*t/4], {t, 0, 10, 1/2}, {a, 0, 1, 1/10}] // N;
> >
> >i = 1;
> >fitlist =
> > Rest[NestList[(param =
> > BestFitParameters /.
> > NonlinearRegress[data[[i++]], a + Exp[b*t],
> > t, {{a, #1[[1]]}, {b, #1[[2]]}},
> > RegressionReport -> {BestFitParameters}];
> > {a, b} /. param) &, {0.1, 0.01}, Length[data]]]
> >
> >Gruss
> > Jens
> >
> >
> >Jens Bredenbeck wrote:
> >
> >>Liebe Liste,
> >>
> >>Ich habe eine Reihe von Datensätzen. Aufeinanderfolgende Datensätze
> >>unterscheiden sich wenig, aber Datensätze mit grösserem Abstand
> >>unterscheiden sich so, dass die Startwerte für die Regression nicht mehr
> >>ausreichend gut sind. Wie kann ich das Ergebnis des einen Fits als
> >>Startwert für den nächsten verwenden?
> >>
> >>Do[
> >>resultat[[j]] =
> >>NonlinearRegress[daten[[j]],
> >>a1*Exp[-(x - b1)^2/c1] + a2*Exp[-(x - b2)^2/c2],
> >>{x},
> >>{{a1, -40}, {b1,1890}, {c1, 40}, {a2, -40}, {b2, 1910}, {c2, 40}}],
> >>{j, 1, 100}]
> >>
> >>Gruss,
> >>Jens
> >>