Hallo Markus,
besten Dank für die Klarstellung, zumal jemand vom Hauptquartier einen
Mangel eingesteht.
Nur lässt sich nicht nachvollziehen
>Bei Werten von x>7 rutscht der Imaginärteil (bei $MachinePrecision <
10-16) aber über das hintere Manitssenende hinaus,
denn dem Imaginärteil ist x völlig egal.
Aber ich sehe, dass sich dies ohne den Mathematica-Quellcode nicht
klarstellen lässt.
Lassen wir es dabei beruhen.
Grüsse
Frank
Am 26.10.2010 10:34, schrieb Markus van Almsick:
Hallo Frank,
der Kern Ihrer Frage(n) ist wohl noch nicht richtig beantwortet worden. Daher werde ich mein Bestes versuchen.
1. wie bereits erwähnt, trägt Plot nur den reellwertigen Teil einer Funktion im Graphen an.
Mit dieser Design-Entscheidung hat Wolfram Research andere Darstellungsmöglichkeiten (Re[f[z]], Im[f[z], oder
{Re[f[z]],Im[f[z]}) bewusst offen gelassen.
Würde durch Plot der Realteil oder gleich Real- und Imaginärteil angetragen werden, wäre es dem Anwender ohne weiteres nicht
möglich
nur die reellwertigen Funktionsteile darzustellen. Man müßte mit If-Bedingungen oder Piecewise arbeiten, was ungleich
umständlicher wäre.
Kurzum, "you cannot please all the people all the time".
Man könnte argumentieren, dass die Dokumentation des Plot-Befehls für komplexwertige Funktionen unzulänglich ist. Ich
werde diesen Einwand weiterleiten.
2. offensichtlich geht in Ihrem Fall f[x_] = x + (10^-13)*I etwas schief. Eigentlich dürfte die Funktion überhaupt
nicht dargestellt werden,
da sie komplexwertig ist. Bei Werten von x>7 rutscht der Imaginärteil (bei $MachinePrecision< 10^-16) aber über das
hintere Manitssenende hinaus,
weshalb die (floating-point) Zahl dem Plot-Befehl als reellwertig erscheint und somit angetragen wird. Streng genommen
ist dies ein Bug.
Es ist aber nicht praktikabel einen Plot-Befehl zu konstruieren, der alle Eventualitäten berücksichtigt. Es gibt derer
einfach zu viele!
Der Plot-Befehl würde zu schwerfällig und langsam werden. Somit wird dieser "Bug" wahrscheinlich nicht behoben werden.
Ich hoffe, dass das Ihre Einwände beantwortet.
Mit freundlichen Grüßen,
Markus van Almsick
On Oct 25, 2010, at 3:03 PM, Frank Richter wrote:
Hallo DEMUG,
ich habe folgendes bei Mathematica beobachtet:
Plot[x + (10^-13)*I, {x, 0, 40}, Frame -> True, FrameLabel -> {"x", "f(x)"}, TextStyle -> {FontSize -> 24},
PlotRange -> {{0, 40}, {0, 40}}, GridLines -> Automatic]
wobei I = Wurzel aus -1,
liefert mir ein Bild, an dem mir zwei Umstände nicht zusagen:
1) es wird nur der Realteil dieser komplexen Funktion, d.h. nur x geplottet
2) und dies auch nur ab x=7 etwa
Ist der Exponent -15, so läuft die Kurve in den Ursprung hinein.
Offenbar wird hier automatisch Chop auf die zu plottende Funktion angewandt, aber mit welcher Grenze ?
Ursprünglich hatte ich dies in einem 3d-Bild beobachtet. Der Wurzel-Term in der Funktion
dh = 1/2 (-1.298*10^7 + 1.02739*10^-12 (-1.81476*10^20 + Sqrt[ 3.29336*10^40 - 3.53276*10^32
(2.16843*10^8 - 792262. \[Theta])]) + 2.83065*10^-33 (-1.81476*10^20 + Sqrt[ 3.29336*10^40 -
3.53276*10^32 (2.16843*10^8 - 792262. \[Theta])])^2) -
0.044 \[Tau] - 9.14888*10^-12 \[Tau]^2
wird null unter Theta = 156. Aber das Bild
Plot3D[dh, {\[Tau], -10^9, 10^9}, {\[Theta], 0.1, 400}, Axes -> True, AxesLabel -> {"\[Tau] (Pa)", "\[Theta] (K)",
"dh"},
TextStyle -> {FontSize -> 24}]
wird bis zu Theta = null dargestellt, obwohl z.B. bei Theta = 50:
dh = -9.51049*10^7-1.49012*10^-8 I
also weit höher, als Chop ungefragt unterdrücken könnte.
Weiss jemand, warum dies so gehandhabt wird ? Lässt sich da irgendwas dran ändern ?
Herzliche Grüsse
Frank
--
Mit freundlichen Gruessen Kind regards
Frank Richter
Lehrstuhl Werkstoffwissenschaft (WW) Chair of Materials Science
Institut fuer Werkstoffe Institute for Materials
Fakultaet fuer Maschinenbau Dept. of Mechanical Engineering
Ruhr-Universitaet Bochum Ruhr-University Bochum
Universitaetsstrasse 150 Universitaetsstrasse 150
44780 Bochum 44780 Bochum
Deutschland Germany
Gebaeude IA, Ebene 1, Raum 47
Building IA, Floor 1, Room 47
Tel./Phone: (+49)-(0)234-32-27898
Fax: (+49)-(0)234-32-14235
http://www.ruhr-uni-bochum.de/ww/mitarb/richter.html
http://homepage.ruhr-uni-bochum.de/Frank.Richter/
--
Mit freundlichen Gruessen Kind regards
Frank Richter
Lehrstuhl Werkstoffwissenschaft (WW) Chair of Materials Science
Institut fuer Werkstoffe Institute for Materials
Fakultaet fuer Maschinenbau Dept. of Mechanical Engineering
Ruhr-Universitaet Bochum Ruhr-University Bochum
Universitaetsstrasse 150 Universitaetsstrasse 150
44780 Bochum 44780 Bochum
Deutschland Germany
Gebaeude IA, Ebene 1, Raum 47
Building IA, Floor 1, Room 47
Tel./Phone: (+49)-(0)234-32-27898
Fax: (+49)-(0)234-32-14235
http://www.ruhr-uni-bochum.de/ww/mitarb/richter.html
http://homepage.ruhr-uni-bochum.de/Frank.Richter/