Mathematica < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:32 Mo 29.11.2004 | Autor: | berny |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
1) Wie kann man in Mathematica, mit Plot[] gezeichnete Funktionen von denen ich ein Integral berechne, schraffieren; also die Fläche markieren, die das Integral abdeckt.
2) Wie kann man in Mathematica einen bestimmten Punkt auf einer Funktionskurve markieren? (Am besten mit Geraden zu den Werten der Achsen.)
|
|
|
|
Hallo berny,
da die Doku zu Mma recht umfänglich und ergiebig ist, beschränke ich mich hier auf zwei einfache Beispiele, um Dich auf die nicht immer leicht zu findenden Funktionsnamen zu "schubsen":
zu 1.: schraffiert geht bestimmt auch irgendwie (frag notfalls mal bei comp.soft-sys.math.mathematica, falls Du Zugriff auf einen Newsserver hast (aber hier gehts auch) oder bei der DMUG), aber bunt ist einfach:
1: | << Graphics'FilledPlot'
| 2: | (*erst mal eine nette Fkt def. *)
| 3: | f[x_] := Sin[[\pi x]/(4x(1 - x));
| 4: | (*
| 5: | *fp: FilledPlot. zeichnet den Graph der Fkt nur in dem zu integrierenden
| 6: | * Bereich und füllt das Gebiet zwischen x-Achse und Graph.
| 7: | * lp: Ganz normale Linien mit dem 08/15 Plot von Mma.
| 8: | * das Ganze wird ge"blockt", weil's einfacher ist, als bei jedem Plot die
| 9: | * Option DisplayFunction->Identity anzugeben
| 10: | *)
| 11: | Block[{$DisplayFunction = Identity},
| 12: | fp = FilledPlot[f[x], {x, -1, 2},
| 13: | Fills -> {{{1, Axis}, RGBColor[1, 0.7, 0.3]}}];
| 14: | lp = Plot[f[x], {x, -3, 4}];
| 15: | ];
| 16: | (* Den Flächeninhalt wollen wir ja auch wissen :-) *)
| 17: | fl = Integrate[f[x], {x, -1, 2}] // Simplify;
| 18: |
| 19: | fertig=Show[fp, lp, (*die 2 plots*)
| 20: | (*der Fl.-Inhalt *)
| 21: | Graphics[Text[TraditionalForm[fl], {2, 1/2}, {-1, 0}]],
| 22: | (*ein Pfeil vom Maß der Fläche auf dieselbe*)
| 23: | Graphics[Arrow[{2, 2/5}, {1, 1/4}]],
| 24: | DisplayFunction -> $DisplayFunction]; |
Hoffentlich werden die ganzen eckigen und geschwungenen Klammern vom Server nicht "gefressen".
zu 2.: da nehme ich mir den Plot von eben und markiere das Maximum mit blauen Linien:
1: | x0=x/.Last@FindRoot[f'[x]==0,{x,.123}];
| 2: | Show[fertig,
| 3: | Graphics[{RGBColor[0, 0, 1],
| 4: | Line[{{x0, 0}, {x0, f[x0]}, {0, f[x0]}}]
| 5: | }]
| 6: | ]; |
Ich hoffe, Dir damit ein wenig geholfen zu haben.
Alles Gute,
Peter
P.S.: Falls der Server die ganze Sonderzeichen doch verdauen sollte und nur sch... übrig bleibt, habe ich das Notebook ohne Ausgaben angeheftet.
Dateianhänge: Anhang Nr. 1 (Typ: nb) [nicht öffentlich]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:06 Di 30.11.2004 | Autor: | berny |
Es scheint zwar ein bißchen kompliziert zu sein in Mathematica, doch es macht genau das, was ich wollte.
Danke schön!
|
|
|
|