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/
>
>