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