DMUG-Archiv 2010

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Darstellung einer komplexen Zahl

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/



Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html