DMUG-Archiv 2009

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

Re: Warum werden unter MMA >5.2 keine Grafiken dargestellt.

Hallo,

Mathematica ist eine funktionale Programmiersprache. D. h. *alles* ist eine
Funktion und hat ein Ergebnis, eventuell ist Null dieses Ergebnis, aber Null
ist eben nicht Nichts.

Das FrontEnd zeigt das Ergebnis jeder Funktionsauswertung an, das
Ergebnis von

In[]:=Plot[Sin[x],{x,0,Pi}]

ist ein  Graphics[] -Objekt und das FrontEnd
zeigt diese Ergebnis an aber als gerendertes Bild und nicht
als -Graphics- wie früher, das Ergebnis von

In[]:=Plot[Sin[x],{x,0,Pi}] ;

ist Null weil "Plot[Sin[x],{x,0,Pi}] ;" eigentlich
CompoundExpression[Plot[Sin[x],{x,0,Pi}] , Null]

ist. Da beim Ergebnis Null das FrontEnd nichts Anzeigt, unterdückt

In[]:=Plot[Sin[x],{x,0,Pi}] ;

das Rendern der Graphik.

In einer Funktion wie z. B.

ichBinEineFunktion[x_Symbol]:=Module[{bla,blub},
 bla=Plot[Sin[x],{x,0,Pi}] ;
 blub=Plot[Sin[x^2],{x,0,Pi}] ;
 x^2
]

wird x^2 als Ergebnis zurück geliefert und

In[]:= ichBinEineFunktion[x]

gibt x^2 zurück. Das zwischen durch irgend welche Graphiken
erzeugt wurden, ist dabei Schnurz. Will man die Graphiken
wirklich verwenden so müsste es

ichBinEineFunktion[x_Symbol]:=Module[{bla,blub},
 bla=Plot[Sin[x],{x,0,Pi}] ;
 blub=Plot[Sin[x^2],{x,0,Pi}] ;
 {bla,blub,x^2}
]

sein und das Ergebnis von

In[]:= ichBinEineFunktion[x]

wäre
{Graphics[__],Graphics[__],x^2}

wobei das FrontEnd die Graphiken allerdings
rendern  würde.

Will man die Graphik nicht als Ergebnis haben, sondern sie soll
nur ausgedruckt werden dann benötigt man (Drucken/Print)
eben Print[].

Gruss
 Jens

klamser wrote:
Lieber Robert,

Danke für die Antwort.

1. Ja ich weiß, dass in MMA >5.2 DisplayFunction nicht mehr notwendig ist bzw. das Semikolon ernst zu nehmen ist.

2. Ich glaube aber, dass Jens-Peer Kuska mit seinem Hinweis, Print zu verwenden, die Lösung gezeigt hat. Verstanden habe ich es aber noch nicht, warum innerhalb eines Modules man Print verwenden muss, um eine Grafik auszugeben, ausserhalb aber ein fehlendes Semikolon ausreicht.

Danke & freundliche Grüße,

Peter

Robert Nowak schrieb:
hi peter,

dein elends langes nb macht nicht wirklich freude ...

du weißt das MMA >=6.0 mittels ; nicht nur Text sonder auch Grafik Ausgaben unterdrückt !?
soll heissen:
Plot[Sin[x],{x,-Pi,Pi}];
macht keine Ausgabe.
Plot[Sin[x],{x,-Pi,Pi}]
macht Ausgabe.

könnte das dein problem sein ?

l.g. robert

klamser schrieb:
Hallo,

in dem anliegenden Notebook werden unter MMA >5.2 keine Grafiken dargestellt.

Um das zu demonstrien habe ich in die Datei das Modul TestPlot eingefügt.

Dann habe ich einige Testplot Anweisungen eingestreut.

Bis zur Position 2 geht alles bestens, dann gähnende Leere, wobei die Printanweisungen ausgeführt werden.

Gruß,

Peter







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

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