Moin Frank,
wenn ich Marcus richtig verstanden habe, zeichnet Plot bei komplexen Funktionswerten nicht.
Ihre komplexwertige Funktion hat allerdings die Besonderheit, daß für x>7 der Imaginärteil so klein ist, daß beim
Standartwert für die Präzision der Imaginärteil zu Null "gerundet" wird. Plot "sieht" daher eine reellwertige Funktion
und zeichnet.
Freundliche Grüße
Udo
Am 26.10.2010 um 17:54 schrieb Frank Richter:
> 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/
>
>
>