DMUG-Archiv 2009

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

Re: Postition der Konturlinien in (List)ContourPlot

Lieber Udo,

natürlich sollte man eine Fliesskommazahl nie auf  0.0 testen sondern immer
mit

If[Abs[#]<$MachineEpsilon, (* Then *)
  (* wird wohl 0 sein *),
(* Else *)
 (* ist es eher nicht *)
]

aber die Fragen war auch nicht:

"Ich will nie wieder in ContourPlot[] die Null Kontour sehen."

eine "quick and dirty" Variante sollte also ausreichen.

Ansonsten immer schön an die Murphy-Gesetze denken:
"Schreibe ein Programm das idiotensicher ist und nur ein Idiot
wird sich finden es zu benutzen."

Gruss
 Jens


Udo und Susanne Krause wrote:
Hallo Andreas und Jens-Peer,

also Du hättest gern

ContourPlot[x^2 - y^2, {x, -2, 2}, {y, -2, 2},
 Contours ->
  Function[{min, max}, Range[min, max, 0.5] /. 0.0 -> Sequence[]]]

damit gibt es ein kleines Problem, denn Mma 7.0 (Windows, 32 Bit) zeichnet für o = 0.1, 0.2, 0.4 oder 0.8

ContourPlot[x^2 - y^2, {x, -2, 2}, {y, -2, 2},
Contours -> Function[{min, max}, Range[min, max, o] /. 0.0 -> Sequence[]]
]

gleichwohl eine Konturlinie bei 0, aber etwa

With[{o = 0.8},
 ContourPlot[x^2 - y^2, {x, -2, 2}, {y, -2, 2},
  Contours -> Function[{min, max},
    Select[Range[min, max, o], (Chop[#] != 0)&]]
  ]
 ]

macht es dann richtig im Sinne von Andreas.

Gruss
Udo.





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

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