DMUG-Archiv 2010

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

Re: Problem mit einer nicht-analytische-Funktion

Das ist so einfach ja noch nicht. Das ist ein Problem für Mathematiker .

 Solange man die Gleichung nicht explizit nach x oder y auflösen kann (was
ja zumindest annäherungsweise durch Reihenentwicklung möglich sein könnte –
ich habe es mir nicht angesehen) , kann man NonlinearMidelFit nicht
einsetzen.
Eine Methode kann man vielleicht ausprobieren:

Statt x und y geht man aus von x, y, z

Wobei z(x,y) = a*(Exp[K1*(x-y*b) ] )+c*(Exp[K2*(x-y*b) ] )+((x-y*d)) - y

Als gemessenen Wert von z könnte man einfach 0 setzen  (man hat also die
Messwerte (...(xi, yi, 0), ...)
Probiers mal !
 


Am 10.02.10 16:18 schrieb "Markus Karwot" unter <mkarwot@XXXXXXX.com>:

> Genau, so hab ich es mir gedacht. Habe es wohl zu umständlich erklärt.
> Können Sie mir helfen und sagen was ich in Mathematica eingeben muss damit
> FindFit() oder nonLinearModelFit() funktioniert??
> Die Gleichung soll irgendwelche Elektronischen Effekte wiederspiegeln. Da aber
> noch viele Sachen ausprobiert werden, kann ich da leider nicht mehr sagen :(
> 
> Grüße
> Markus
> 
> Am 10. Februar 2010 15:53 schrieb mathemas ordinate <info@XXXXXXX.de>:
>> Na dann wird die Kurve wohl durch die gleichung
>> 
>> y= a*(Exp[K1*(x-y*b) ] )+c*(Exp[K2*(x-y*b) ] )+((x-y*d))
>> 
>> bestimmt sein
>> 
>> Oder was sollte sonst f(x) auf der linken Seite ?
>> 
>> Was steckt denn hinter der Gleichung ?
>> 
>> 
>> Am 10.02.10 15:47 schrieb "Markus Karwot" unter <mkarwot@XXXXXXX.com
>> <http://mkarwot@XXXXXXX.com> >:
>> 
>>> 
>>> Hallo, 
>>> 
>>> 
>>> Meine Punktwolke besteht aus den Messwerten {{x1, y1},..{xn,yn}}. Diese
>>> Werte bewegen sich von den 3ten Quadranten in den 4ten Quadranten. z.B. von
>>> x=-5 bis x=5 mit einem Abstand von 0,1 zueinander.
>>> 
>>>> > Fitten heisst ja, man passt eine Kurve an eine Punktewolke an .
>>> So hab ich das auch verstanden, bin noch neu auf dem Gebiet. Ich hab die
>>> Wertepaare oder die Punktwolke und versuche ein Kurve zu finden die "ideal"
>>> durch die Punkte durchgeht. Nur suche ich kein Polynom, sondern habe schon
>>> eine Funktion gegeben. Wenn die unbekannten Parameter "richtig" gesetzt
>>> werden, bekomme ich für jeden x-Werte den gesuchten y-Wert und somit meine
>>> Kurve.
>>> 
>>> 
>>> Grüße
>>> Markus
>>> 
>>> 
>>> Am 10. Februar 2010 15:02 schrieb mathemas ordinate <info@XXXXXXX.de
>>> <http://info@XXXXXXX.de> >:
>>>> Hallo
>>>> 
>>>> Und was soll f(x) dann sein ?
>>>> 
>>>> Fitten heisst ja, man passt eine Kurve an eine Punktewolke an .
>>>> 
>>>> Die Punktewolke besteht in der Regel aus Punkten mit Koordinaten wie
>>>> (x,y)-Werten (wobei man annimt y ist eine Funktion von x) oder
>>>> (x,y,z)-Werten (wobei man annimt z ist eine Funktion von x und y)
>>>> 
>>>> oder allgemein (x1, x2, ..,xn,f(x1,x2,...,xn))
>>>> 
>>>> Wie lautet also die Punktewolke in ihrem Fall
>>>> 
>>>> Gruss Carsten Herrmann
>>>> 
>>>> Am 10.02.10 12:51 schrieb "Markus Karwot" unter <mkarwot@XXXXXXX.com
>>>> <http://mkarwot@XXXXXXX.com>  <http://mkarwot@XXXXXXX.com> >:
>>>> 
>>>>> Hallo, 
>>>>> 
>>>>> ja, der Strom wird in der y-Achse und die Spannung in der x-Achse
>>>>> gezeichnet. 
>>>>>  f(x) = a*(Exp[K1*(x-y*b) ] )+c*(Exp[K2*(x-y*b) ] )+((x-y*d)).
>>>>> K1 und K2 sind zwei feste Konstanten. a, b, c und d die unbekannten, die
>>>>> gefittet werden sollen.
>>>>> 
>>>>> Gruß
>>>>> Markus
>>>>> 
>>>>> Am 10. Februar 2010 11:56 schrieb mathemas ordinate <info@XXXXXXX.de
>>>>> <http://info@XXXXXXX.de>  <http://info@XXXXXXX.de> >:
>>>>>> Hallo,
>>>>>> 
>>>>>> Was sind denn die x – Werte (die Spannung?)
>>>>>> 
>>>>>> Was sind denn die y – Werte (der Strom) ?
>>>>>> 
>>>>>> Was ist denn f(x) ?
>>>>>> 
>>>>>> Gruss Carsten
>>>>>> 
>>>>>> PS: 
>>>>>> Es geht hier etwas durchaeinander: einerseits sagst du
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Am 10.02.10 11:48 schrieb "Markus Karwot" unter <mkarwot@XXXXXXX.com
>>>>>> <http://mkarwot@XXXXXXX.com>  <http://mkarwot@XXXXXXX.com>
>>>>>>  <http://mkarwot@XXXXXXX.com> >:
>>>>>> 
>>>>>>> Hallo, 
>>>>>>> 
>>>>>>> wir haben ein Messstand. Da wird eine Spannung eingestellt und dazu der
>>>>>>> Strom gemessen (x, y). Zum Schluss kommt eine beliebige Anzahl von
>>>>>>> wertepaaren heraus. Die x-Werte sind (relativ) genau aber die y-Werte
>>>>>>> schwanken sehr. Durch den Fit der Funktion mit den gemessenen (x,y)
>>>>>>> Daten, soll ein genauerer y errechnet werden können. Dazu werden aber
>>>>>>> auch die Parameter benötigt. Dies sollen ebenfalls durch den Fit
>>>>>>> herauskommen.
>>>>>>> Um den Fit zu vereinfachen, könnte dieser mit groben Startwerten
>>>>>>> beginnen. 
>>>>>>> Die Funktion wurde mir so übergeben. Da kann ich auch nicht mehr sagen
>>>>>>> :(
>>>>>>> Wird es jetzt einwenig verständlicher ??
>>>>>>> 
>>>>>>> Grüße
>>>>>>> Markus
>>>>>>> 
>>>>>>> 
>>>>>>> Am 8. Februar 2010 10:51 schrieb mathemas ordinate <info@XXXXXXX.de
>>>>>>> <http://info@XXXXXXX.de>  <http://info@XXXXXXX.de>
>>>>>>>  <http://info@XXXXXXX.de> >:
Hallo 

So bleibt es ja so unklar wie bisher

Was soll denn überhaupt gemacht werden ?

Man kann die a , b, c, d nicht berechnen, weil ja die grösse f unbekannt
ist.

Die normale aufgabe lautet : man hat werte für x,y, f(x,y) und will die a,
b, c, d finden für eine gute anpassung von
f(x,y )=a*(Exp[K1*(x-y*b) ] )+c*(Exp[K2*(x-y*b) ] )+((x-y*d))


Man könnte sicher auch lösen:

Man hat Werte für x, y, f(x) und sucht die werte für a,b, c, d.

Aber wenn man nur werte hat für x, y und f(x) könne beliebig wählbar sein  

Woher stammt die Aufgabe ?

Gruss Carsten




Am 07.02.10 00:21 schrieb "Markus Karwot" unter <mkarwot@XXXXXXX.com
<http://mkarwot@XXXXXXX.com>  <http://mkarwot@XXXXXXX.com>
 <http://mkarwot@XXXXXXX.com>  <http://mkarwot@XXXXXXX.com> >:

Hallo, 

bei uns ist gerade Klausurzeit, deswegen konnte ich nicht gleich wieder
antworten. Wollte mir dann aber noch genug Zeit nehmen um noch einmal über
das ganze nach zu denken. Da war ich doch noch ziemlich verwirrt wegen dem
ganzen.

Wie ich es am Anfang geschrieben habe, war es so wie es sein sollte.

f(x)=a*(Exp[K1*(x-y*b) ] )+c*(Exp[K2*(x-y*b) ] )+((x-y*d))

D.h. Ich hab meine x und y Daten in einer Matrix. {{x1, y1}, ..,{xn,yn}} .
Das ist auch alles was ich habe. Ich könnte zwar grobe Start werte für die
unbekannten (a, b, c, d) errechnen, aber die sind nicht so "gut".

Es gibt bei Mathematica, im virtualbook, beim FindFit auch ein Part für
mehrere Variablen aber damit komme ich auch nicht weiter.
Hoffe das ich es jetzt verständlicher machen konnte. Falls nicht, werde ich
mich bemühen es noch besser zu erklären.

Beste Grüße
Markus


Am 5. Februar 2010 15:05 schrieb mathemas ordinate <info@XXXXXXX.de
<http://info@XXXXXXX.de>  <http://info@XXXXXXX.de>
 <http://info@XXXXXXX.de>  <http://info@XXXXXXX.de> >:
>> Keine Bange, ich reisse ihnen nicht den virtuellen Kopf ab.  Was steckt
>> hinter Ihrem Problem ?
>> 
>> 
>> Alte email:
>> 
>> 
>> Was sie da schreiben macht keinen Sinn auch mathematisch ist es nicht ganz
>> ausgegoren.
>> 
>> Es scheint so nach den Datenpunkten, dass sie eine einfache Funktion  y= f(x)
>> haben oder besser hatten. Jetzt schreiben Sie
>> 
>> f(x)=a*(Exp[K1*(f(x)-y*b) ] )+c*(Exp[K2*(f(x)-y*b) ] )+((f(x)-y*d))
>> 
>> Welche Form sollte f haben  ?
>> 
>> So wie Sie es schreiben kann f ja beliebig sein oder ?
>> 
>> 
>> Gruss Carsten Herrmann
>> 
>> 
>> Am 03.02.10 13:55 schrieb "Markus Karwot" unter <mkarwot@XXXXXXX.com
>> <http://mkarwot@XXXXXXX.com>  <http://mkarwot@XXXXXXX.com>
>>  <http://mkarwot@XXXXXXX.com>  <http://mkarwot@XXXXXXX.com>
>>  <http://mkarwot@XXXXXXX.com> >:
>> 
>> 
>> Hello,
>> 
>> i try the NonlinearModelFit but without any positive results, actually i get
>> the same error message i ever get.
>> "NonlinearModelFit::fitc: Number of coordinates (1) is not equal to the
>> number of variables (3). >>"
>> (I append the mathematica nb file to this mail.)
>> 
>> But maybe i still misunderstood this at all.
>> In my case. I have the values of x and y axis. The function f represent my
>> data. But i have f(x) on both sides.
>> I cant fill the data set array {{x1, y1, f1}, ..,{xn,yn,fn}}  with values i
>> dont have.
>> 
>> f(x)=a*(Exp[K1*(f(x)-y*b) ] )+c*(Exp[K2*(f(x)-y*b) ] )+((f(x)-y*d))
>> 
>> The interesting values are the unknown variables like a,b,c,d, k1 and k2 and
>> the value i`am looking for are y.
>> 
>> I hope you guys understand what i try to say :)
>> 
>> Best regards
>> Markus
>> 
>> 
>> Am 2. Februar 2010 18:45 schrieb mathemas ordinate <info@XXXXXXX.de
>> <http://info@XXXXXXX.de>  <http://info@XXXXXXX.de>
>>  <http://info@XXXXXXX.de>  <http://info@XXXXXXX.de>
>>  <http://info@XXXXXXX.de> >:
>>>> Schön wäre, das vollständige kurze Beispiel zu sehen (ie mit den
>>>> Datenpunkten)
>>>> 
>>>> ansonsten: Versuche es mal mit NonlinearModelFit
>>>> 
>>>> Am 02.02.10 17:35 schrieb "mkarwot@XXXXXXX.de
>>>> <http://mkarwot@XXXXXXX.de>  <http://mkarwot@XXXXXXX.de>
>>>>  <http://mkarwot@XXXXXXX.de>  <http://mkarwot@XXXXXXX.de>
>>>>  <http://mkarwot@XXXXXXX.de> " unter
>>>> <mkarwot@XXXXXXX.de <http://mkarwot@XXXXXXX.de>
>>>> <http://mkarwot@XXXXXXX.de>  <http://mkarwot@XXXXXXX.de>
>>>>  <http://mkarwot@XXXXXXX.de>  <http://mkarwot@XXXXXXX.de> >:
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> > Hallo,
>>>>> >
>>>>> > Ich habe die Aufgabe eine (nicht–Analytische) Funktion mit Mathematica
>>>>> zu
>>>>> > Fitten. Leider komme ich nicht weiter. Habe auch schon vieles Probiert,
>>>>> aber
>>>>> > ohne Erfolg. Hoffe das Ihr mit weiter helfen könnt.
>>>>> >
>>>>> >
>>>>> > Die Funktion die ich habe sieht folgendermaßen aus.
>>>>> >
>>>>> > f(x)=a*(Exp[K1*(x-y*b) ] )+c*(Exp[K2*(x-y*b) ] )+((x-y*b))&#8260;d
>>>>> >
>>>>> > Mein Datensatz hat die folgende Form.
>>>>> > dataset = {{x1, y1},{x2,y2},…,[xn,yn}}
>>>>> >
>>>>> >
>>>>> > Wenn ich jetzt FindFit[] ausführe,
>>>>> > FindFit[dataset, f, {a, b, c, d}, {x,y}]
>>>>> >
>>>>> >
>>>>> > bekomme ich immer den folgenden Fehler
>>>>> >
>>>>> > FindFit::fitc : Number of coordinates (1) is not equal tot he number of
>>>>> > variables (2). >>
>>>>> >
>>>>> > Was mache ich Falsche? Oder habe ich da ein Funktion an der sich
>>>>> Mathematica
>>>>> > die
>>>>> > „Zähne“ ausbeißt.
>>>>> >
>>>>> > Beste Grüße von der HTWG-Konstanz.
>>>>> > Markus
>>>>> >
>>>>> >
>>>>> >
>>>> 
>>>> --
>>>> mathemas ordinate, Dipl. Math. Carsten Herrmann, M.Sc.
>>>> GbR seit 12 Jahren !  Ums.St.ID <http://Ums.St.ID>  <http://Ums.St.ID>
>>>>  <http://Ums.St.ID>  <http://Ums.St.ID>  <http://Ums.St.ID>
>>>>  <http://Ums.St.ID>  DE135574376
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> __*__ Koenigsbergerstr. 97 in 24161 Altenholz
>>>> ===== WWW: http://www.ordinate.de  Email info@XXXXXXX.de
>>>> <http://info@XXXXXXX.de>  <http://info@XXXXXXX.de>
>>>>  <http://info@XXXXXXX.de>  <http://info@XXXXXXX.de>
>>>>  <http://info@XXXXXXX.de>
>>>> || || Tel:0431 237-4500, Berlin 030 787-06259 Mobil: 0177 312 8557
>>>> || || Fax:0431 237-4501 oder alt. 0431 32888-12
>>>> Distribution+Training+Support: Mathematica ExtendSim MathType Kaleida..
>>>> Mathematica Tage   http://www.ordinate.de/mathematicaTag.htm
>>>>> > ****************************************************************
>>>>> > Die  in  dieser  E-Mail  enthaltenen  Informationen  sind  vertraulich.
>>>>> > Diese  E-Mail  ist   ausschliesslich  fuer  den  Adressaten  bestimmt
>>>>> > und  jeglicher  Zugriff  durch andere  Personen  ist  nicht  zulaessig.
>>>>> > Falls  Sie  nicht  einer   der  genannten  Empfaenger  sind,  ist  jede
>>>>> > Veroeffentlichung,  Vervielfaeltigung,  Verteilung  oder  sonstige  in
>>>>> > diesem  Zusammenhang  stehende  Handlung  untersagt  und  unter
>>>>> > Umstaenden  ungesetzlich.  Sollte  diese Nachricht  nicht   fuer  Sie
>>>>> > bestimmt sein, so  bitten  wir  Sie,  den  Absender  unverzueglich zu
>>>>> > informieren und die E-Mail zu loeschen.
>>>>> > ****************************************************************
>>>>> > The information in this e-mail is  confidential. It is intended  solely
>>>>> > for the addressee  and  access  to  the  e-mail  by  anyone  else  is
>>>>> > unauthorised.
>>>>> > If you are not a named recipient, any disclosure,copying, distribution
>>>>> > or any  action  taken  or omitted to  be taken  in  reliance  on  it,
>>>>>  is
>>>>> > prohibited and  may  be unlawful.  If  the  notice is  not  intended for
>>>>> > you, please  notify  the sender immediately and delete the e-mail
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

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