2011-12-31 12 views
6

chcę pokazać działek wewnątrz modułu (może rekurencyjnego):Pokaż Działki wewnątrz modułu w Mathematica

m = Module[{i, j}, i = 3; Plot[Sin[t], {t, 0, 1}]; j = 4] 

Nawet

m = Module[{i, j}, i = 3; Show[Plot[Sin[t], {t, 0, 1}]]; j = 4] 

nie działa. Dlaczego tak się dzieje i jak poprawnie kreślić?

+1

zablokowałeś wyjście 'Plot' średnikiem ... spróbuj' m = Moduł [{i = 3, j = 4}, Wykres [Sin [t], {t, 0, 1}]] '. Jeśli twoje przypisania "i" i "j" zależą od określonej lokalizacji w bloku kodu (to znaczy, jeśli jest to uproszczony przykład), użyj 'm = moduł [{i, j, p}, i = 3; p = Fabr [Sin [t], {t, 0, 1}]; j = 4; p] ' – abcd

+2

bardzo podobne pytanie zostało zadane w Mathgroup" Działka w module "http://forums.wolfram.com/mathgroup/archive/2011/Dec/msg00605.html (może potrzebujemy Mathematica FAQ? "Widziałem to pytanie wiele razy wcześniej). – Nasser

Odpowiedz

11

Jedynym powodem działka jest normalnie wyświetlany w Mathematica jest to, że Plot funkcyjne powraca grafika obiekt reprezentujący działkę i Mathematica wyświetla wartości zwracanej cokolwiek uruchomić w zeszycie. Jednak po wykonaniu instrukcji średnikiem uniemożliwisz mu zwrócenie wartości.

Co możesz zrobić, jeśli chcesz wyświetlić coś ze środka modułu to Print[Plot[...]];. Funkcja Print wyświetla wartość swojego argumentu bezpośrednio.

+1

Nie wiedziałem Drukuj może wydrukować działki! wspaniały! dzięki! –

+4

Myślę, że w tym przypadku nazwa polecenia, "Show", sugeruje, że robi coś innego niż to, co robi ("Show" scala wyświetlacz z kilku obiektów 'Graphics', nie powoduje, że są one wyświetlane) –

Powiązane problemy