DMUG-Archiv 2007

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Plots in Modulen in Mma 6

Hallo,

gibt es eigentlich irgendwo ein Tutorial "Umstieg auf Mma 6" oder so?
Ich habe gerade eine Änderung gefunden, die mir Mühe bereitet.

Bisher hatte ich häufig Funktionen, die als Modul definiert waren
(f[x_,y_]:=Module[{a,b},<code>]), und habe im Code der Funktion einen
Plot erzeugt und ausgegeben und dann die Funktion einen Wert zurückgeben
lassen.  In Mma 6 ist es aber so, dass die ausgegebenen Grafik der
Rückgabewert jeder Grafik-Funktion ist und sich daher mit ";" nach der
Zeile abschalten lässt.

Ich habe jetzt Mühe, eine Funktion zu schreiben, die zunächst den Plot
auf dem Bildschirm ausgibt, aber dann *nur* einen Wert zurückgibt, nicht
den Plot.  Ich habe es mit "Return[result]" versucht und nur mit
"result", ich habe (da Return AFAIK nur das Modul beendet und nicht die
Funktion) Catch und Throw verwendet, und ich habe im Plot mit
DisplayFunction gespielt ($DisplayFunction oder (Print[#];&)), aber ich
habe es nicht hingekriegt:  Entweder wird der Plot nicht ausgegeben,
oder der Rückgabewert enthält auch den Plot, oder es gibt weder Plot
noch Rückgabewert.  Das angehängte Notebook zeigt das Problem.

In den Beispielen im Notebook könnte man nun einfach nur das zweite
Element des Rückgabewerts zuweisen.  Aber wenn der Rückgabewert eine
Liste ist, dann wird auch der Plot für jedes Element der Liste einmal
gedruckt, und das ist nicht mehr handhabbar (siehe Funktion
"FuncReturnsList").

Wie kann ich das angehen?

Danke für Tipps, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)

Attachment: showplot.nb
Description: Mathematica Notebook document

Antworten:
Re: Plots in Modulen in Mma 6
Roman Maeder, 18.07.2007

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 27.07.2007 09:35