DMUG-Archiv 2005

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Fit-Funktion Mathematicas

Hallo Hakan,

In so einem Fall bietet sich an:

1. Loesen der Gleichung

y0 = a + b x0 + c x0 x + d x0 x0 x0

Nach a

2. Anschliessend hat man den Parameter a als Ausdruck in b, c, d

Dann macht man einen Fit

mit FindFit



Zum Beispiel:

points = {{0, -1}, {1, 2}, {3, 7}, {4, 6}, {7, 9}, {11, 14}};

Angenommen das Polynom soll durch (2, 2) gehen.

aloesung = Flatten[Solve[2 == a + b 2 + c 2 2 + d 2 2 2 , a]]

{a -> -2 (b + 2 c + 4 d - 1)}

reduziertesPolynom = a + b x + c x x + d x x x /. aloesung

f1 = FindFit[points, reduziertesPolynom, {b, c, d}, x]

Und dann zeichnen mit:


Plot[reduziertesPolynom /. f1, {x, -1, 11}, AxesOrigin -> {0, 0}, 

PlotRange -> {Automatic, {0, 14}}, 
    Epilog -> Prepend[Point /@ points,
PointSize[0.02]]];


Ob das immer geht ?


Gruss Carsten


Am 21.12.2005 0:42 Uhr schrieb "Hakan Onel" unter
<onel@XXXXXXX.DE>:

> Hallo,
> 
> ich habe da eine Frage bezüglich der
> Fit-Funktionen Mathematicas (5.2).
>  
> Ist es irgendwie möglich MMA zu sagen,
> dass der Fit den die Fit-Funktion erzeugt,
> unbedingt einen vorgegebenen Punkt der
> Form {x0,y0} erfüllen soll?
>     
> Ich möchte die Frage an einem Beispiel
> erläutern:
>          
> 1.Es werden irgendwelche Daten hergenommen, z.B.:
> points = Table[{i, Random[Real, {0, 1}]}, {i, 0, 10,1}];
> 
> 2.Nun sollen diese Daten mit einem Polynom z.B. 3.Ordnung
>  gefittet werden:
> order = 3;
> fit = Fit[points, Table[x^n, {n, 0, order}], x]
> 
> 3.Die Ergebnisse werden visualisiert.
> Show[ListPlot[points, PlotStyle -> PointSize[0.02]],
>      Plot[fit, {x,-1, 11}]];
> 
> 4.Die Frage ist nun, wie ich Mathematica mitteilen kann,
>  dass die gefittete Funktion unbedingt einen oder gar
>  mehrere vorgegebene Punkte (z.B {2.3,0.5}) exakt
>  erfüllen soll?
> 
> Hintergrund der Frage ist, dass ich mit Mathematica
> eine Datenmenge von je 600 MB (und aufwärts) pro
> Kernel-Session mit einem Polynom hoher Ordnung fitten
> möchte. Dabei soll das Resultat der Fit-Funktion in jedem
> Fall durch mindestens einen vorgegebenen Punkt laufen...
> 
> Diese Frage beschäftigt mich nun seit einer ganzen
> Weile und leider bin ich in der Dokumentation noch
> nicht fündig geworden. Über jeden Kommentar würde ich
> mich freuen.
> 
> Vielen Dank, ein frohes und besinnliches Weihnachtsfest
> 
>   Hakan

--  
mathemas ordinate, Dipl. Math. Carsten Herrmann, M.Sc.
 __*__ Koenigsbergerstr. 97 in 24161 Altenholz
======= WWW: http://www.ordinate.de  Email info@XXXXXXX.de
|||U||| Tel:0431 237-4500, Berlin 030 787-06259 Mobil: 0177 312 8557
|||P||| Fax:0431 32888-12, 0431 237-4501
Ihr Mathematica+Training+Support ­ Spezialist / ref code: mathemas




Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html