Gnuplot fitten

Neue Frage »

bob1985 Auf diesen Beitrag antworten »
Gnuplot fitten
Meine Frage:
Wie kann man zwei verschiedene Graphen in gnuplot in einem Diagramm fitten?

Meine Ideen:
Hallo

Nun habe ich schon den ganzen Tag versucht 2 Graphen zu fitten und bin am verzweifeln. Vielleicht könnt ihr mir ja helfen und mal drüber schauen.?

Ich arbeite nun seite heute ;-) mit Gnuplot und möchte gern 2 Garphen in einem Diagramm fitten. Dabei werden auch zwei verschiedene y Achsen
benutzt.

Ich habe bis her folgenden Ansatz gefunden:



gnuplot> set yrange [0:100]

gnuplot> set y2range [0:15]

gnuplot> set xrange [0:100]

gnuplot> f(x)=a*x**3+b*x**2+c*x+d

gnuplot> fit f(x) 'C:\Users\Christoph\Desktop\labelingratency3.txt' via a, b, c, d # das sind die werte für den ersten Graph

gnuplot> fit f(x) 'C:\Users\Christoph\Desktop\cy3.txt' via a, b, c, d # das sind die werte für den zweiten graph


gnuplot> plot 'C:\Users\Christoph\Desktop\labelingratency3.txt' using 1:2 title "labeling" axis x1y2 with lines, f(x) axis x1y2, 'C:\Users\Christoph\Desktop\cy3.txt'using 1:2 title "Ausbeute" axis x1y1 with lines, f(x) axis x1y1




So nun mein problem: der erste Grapf "labeling" wird nicht gefittet richtig dargstellt. Jedoch liegt der gefittete Graph völlig falsch. Der zweite Graph "Ausbeute" wird sowohl nicht gefittet als auch gefittet richtig dargestellt. Nun müsste nur noch der
erste Graph richtig gefittet dargestellt werden. leider probiere ich das schon den ganzen Tag ohne Erfolg. ich hoffe ihr könnt mir helfen.ich freue mich über eine Antwort

Viele Grüße aus Jena
hawe Auf diesen Beitrag antworten »
RE: Gnuplot fitten
Hm,

ohne Kenntnis der Daten kann man nur mal raten Startwerte für die Parameter a,b,c,d zu setzen. Warum muss es GNUPLOT sein. Jede Tabellenkalkulation macht sowas im Handumdrehen und beim Zugucken...
bob1985 Auf diesen Beitrag antworten »

hallo! Vielen Dank für deine Antwort.

Ich benutzte Gnuplot, da später andere Messdaten mit anderen Funktionen wie Bolzmannverteilung usw. gefittet werden sollen. das geht mit Exel leider nicht... oder kennst du ein einfaches Programm was solche Funktionen hat?

Hier noch nachträglich die Daten für labelingratency3.txt :
0 0
20 1.6
40 2
60 7.1
80 7.3
100 0

hier die Daten für cy3.txt

0 100
20 33
40 26
60 22
80 7
100 0

Ich denke das Problem liegt daran, dass man vielleicht für jeden Graph eine eigene Funktion definieren sollte. z.B für die daten aus labelingratency3 --> f(x)
und für die Daten aus Cy3 -->g(x) geht sowas??

aber ich weiß auch nicht ob das wirklich das problem ist. Ich bin für jede Hilfe dankbar...

MfG
Calvin Auf diesen Beitrag antworten »
RE: Gnuplot fitten
[OT]
@hawe
Schon mal eine Excel-Grafik in ein LaTeX-Dokument eingebunden? *grusel* Augenzwinkern
[/OT]

Ich kann dir bei der eigentlichen Frage nur bedingt helfen. Ich muss selbst ausprobieren.

Aber zwei verschiedene Funktionen f und g zu nutzen geht natürlich. Ich kann mir gut vorstellen, dass das in deinem Fall sogar notwendig ist.

f(x)=a1*x**3+b1*x**2+c1*x+d1
g(x)=a2*x**3+b2*x**2+c2*x+d2

Außerdem solltest du für a1, b1, usw. Startwerte vergeben, so dass deine Punkte ganz grob angenähert werden. Wenn du das nicht machst, wird für alle Parameter 1 als Startwert genommen.


Vielleicht bringt dich das ja weiter.
bob1985 Auf diesen Beitrag antworten »

hallo!
Vielen Dank für deine Antwort. mit zwei Funktionen (g(x) unf f(x)) hat das plotten und fitten beider Graphen funktioniert. Super!

nun würde ich gern die Werte des Graphen mit den Daten aus der Datei labelingraten:
0 0
20 1.6
40 2
60 7.1
80 7.3
100 0

nach der Bolzmann-Verteilung fitten, leider kommt da immer ein Fehler:
" Singular matrix in Invert_RtR
error during fit/p "

Weiss jemand woran das liegt? bzw. welche Funktion eignet sich am besten zum fitten und welche Startwerte machen Sinn??

ich freue mich über eure Antworten!

Vielen Dank!!
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »