Hallo
trotz dem, dass ich immer mal wieder mit GNUPLOT arbeite stoße ich auch immer wieder auf fundamentale Probleme:
Heute: Wie plotte ich die Funktion f(x)= 7*sin(1/12*pi*x - 2/3*pi) + 4
irgendwie mag GNUPLOT das 1/12 nicht. Wenn ich die Zahlen alle ausrechne funktioniert es. Aber das kann doch nicht sein…
Ja, klar Punkt vor Strich…
Aber das war nicht das Problem.
Der Fall war der, dass für GNUPLOT 2/3 = 0 ist. Warum?
2 ist eine Ganzzahl, 3 ist eine Ganzzahl. GNUPLOT bleibt beim Dividieren von zwei Ganzzahlen im Bereich der Ganzen-Zahlen und so geht die 3 eben 0 (ganze) mal in die 2 rein.
2.0/3 liefert das richtige Ergebnis.
Da stellt sich einem doch echt die Frage: Ist GNUPLOT benutzerfeindlich, oder kann man solche Gedankengänge erwarten?
Ja, klar Punkt vor Strich…
Aber das war nicht das Problem.
war das zu erraten? bedenke wir haben keine Glaskugel.
Der Fall war der, dass für GNUPLOT 2/3 = 0 ist. Warum?
K.A., ich kenne Gnuplot nicht.
Wenn Gnuplot das Ergebnis von 2/3 als Ganzzahl ansieht zeigt es korrekterweise 0 an wenn es nicht aufrundet.
2 ist eine Ganzzahl, 3 ist eine Ganzzahl. GNUPLOT bleibt beim
Dividieren von zwei Ganzzahlen im Bereich der Ganzen-Zahlen
und so geht die 3 eben 0 (ganze) mal in die 2 rein.
? im bereich der der ganzzahlen gibt es keine 0,66666667
2.0/3 liefert das richtige Ergebnis.
Also ist Gnuplot fitter als manche zwischen PC und Bürostuhl und erkennt von sich aus daß es da nicht um Ganzzahlen geht.
Da stellt sich einem doch echt die Frage: Ist GNUPLOT
benutzerfeindlich, oder kann man solche Gedankengänge
erwarten?
K.A. welche gänge da was erwarten.
M.E. gilt grundsätzich in Programmeirsprachen, wenn man eingibt
2/3
so entscheidet das Programm was es daraus macht.
Dito für
2.0/3
Je nach Programm hat man dann Chancen da einzugreifen, also die automatische Typumwandlung abzuschalten durch sowas:
Cdbl(2)/Cdbl(3)
wobei da die Vorgehensweise Programmabhängig ist.
Wenn dir CDbl nix sagt macht das nix, schau mal in Gnuplot Hilfe nach Datentypen o.ä.
Der Fall war der, dass für GNUPLOT 2/3 = 0 ist. Warum?
Weil Gnuplot überhaupt gar nichts mit Office Paketen zu tun hat, sondern ein Werkzeug von sowie für Mathematikern und Naturwissenschaftler ist. Diese kennen i.d.R. die Notation von FORTRAN bzw. C und wissen das, was ohnehin in der Anleitung zu Gnuplot steht, in die Leute, die Gnuplot als „Office Tool“ bezeichnen aber offenbar nicht reingucken:
Note that gnuplot uses both „real“ and „integer“ arithmetic, like FORTRAN and C. Integers are entered as „1“, „-10“, etc; reals as „1.0“, „-10.0“, „1e1“, 3.5e-1, etc. The most important difference between the two forms is in division: division of integers truncates: 5/2 = 2; division of reals does not: 5.0/2.0 = 2.5. In mixed Expressions, integers are „promoted“ to reals before evaluation
Da stellt sich einem doch echt die Frage: Ist GNUPLOT
benutzerfeindlich, oder kann man solche Gedankengänge
erwarten?
Man kann solche Gedankengänge erwarten. Wenn Dir Gnuplot nicht freundlich genug ist, dann nimm was anderes. Bezahlt hast Du dafür ja nichts.
Das stimmt allerdings. Trotzdem finde ich das ganze unglücklich gewählt, auch wenn man so natürlich mehr Möglichkeiten hat (für was man sowas auch immer nenötigen möge…)