Benutzer-Werkzeuge

Webseiten-Werkzeuge


lager:mathe:python

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lager:mathe:python [15.11.2016 20:16] richardlager:mathe:python [05.07.2018 10:03] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 2: Zeile 2:
  
 Um Aufgaben zu lösen, bei denen es um z.B. Ausklammern oder Vereinfachen geht, kann man Python mit dem Module ''sympy'' verwenden. Um Aufgaben zu lösen, bei denen es um z.B. Ausklammern oder Vereinfachen geht, kann man Python mit dem Module ''sympy'' verwenden.
 +Auf der Seite [[http://live.sympy.org/]] kann der Code direkt ausgeführt werden, so dass keine Installation notwendig ist.
  
 Bei der Eingabe der Terme muss man auf die korrekte Syntax achten. Anders als in der Mathematik üblich, muss zwischen jedem Operanden ein Operator stehen: Bei der Eingabe der Terme muss man auf die korrekte Syntax achten. Anders als in der Mathematik üblich, muss zwischen jedem Operanden ein Operator stehen:
  
-Also: <code>x y  wird zu x*y</code> + <code>x y muss als x*y geschrieben werden</code> 
-Aus <code>x^2 wird x**2</code>+ <code>x^2 muss als x**2 geschrieben werden</code>
  
 <file pyton simplify.py> <file pyton simplify.py>
Zeile 60: Zeile 61:
 **Nach Copy&Paste in Liberoffice:** **Nach Copy&Paste in Liberoffice:**
 {{:lager:mathe:bilder:pyhton_q_vonx.png|}} {{:lager:mathe:bilder:pyhton_q_vonx.png|}}
 +
 +===== Mit Live SymPy direkt ausprobieren =====
 +
 +Live SymPy ist eine Seite, auf der man seine Eingabe direkt vornehmen kann. D.h. man muss nichts installieren und kann für Kleinigkeiten direkt loslegen.
 +
 +Hinweis: Unter Umständen muss man seine eigenen Variabeln hinzufügen oder auf die bereits existierenden umbenennen. Die folgende Code-Zeilen sind für die Variablen bzw. Funktionsnamen zuständig. In SymPy werden diese ''symbols'' genannt:
 +<code>
 +x, y, z, t = symbols('x y z t')
 +k, m, n = symbols('k m n', integer=True)
 +f, g, h = symbols('f g h', cls=Function)
 +</code>
 +
 +Dabei sind ''x'', ''y'', ''z'' und ''t'' Variablen. ''k'', ''m'' und ''n'' sind ganzzahlige (''integer=True'') Laufvariablen für z.B. Summenausdrücke. Und zum Schluss die Funktionen ''f'', ''g'' und ''h'' als Klasse ''cls=Function''.
 +
 +Will man nun z.B. eine neue Variable ''u'' aufnehmen, so muss diese in die Liste vor dem ''='' aufgenommen werden und in die Klammer.
 +<code>
 +u, x, y, z, t = symbols('u x y z t')
 +</code>
 +
 +===== Hilfreiche Befehle und ihre Bedeutung =====
 +
 +Wenn man einen der folgenden Befehle auf eine Funktion anwendet, dann wird das Ergebnis direkt ausgegeben. Möchte man dies als Zwischenergebnis ablegen, so kann man ein Ergebnis einer neuen Funktion z.B. g(x) zuweisen. Eine spätere Ausgabe kann über den ''print()''-Befehl geschehen. Wobei die auszugebende Funktion in die Klammer geschrieben wird.
 +
 +==== expand() Ausklammern ====
 +
 +Mit dem ''expand()'' Befehl kann man eine gegebene Funktion ausklammern. Damit kann man beispielsweise Funktionen in Polynomschreibweise einfach ausklammern
 +und in die allgemeine Schreibweise überführen.
 +
 +Beispiel: 
 +<code>
 +f=(x+2)*(x-2)*(x+3)
 +expand(f)
 +</code>
 +Ausgabe: <m>x^3+3x^2−4x−12</m>
 +
 +
 +===== factor() Faktorisieren ====
 +
 +Mit dem ''factor()'' Befehl kann man eine gegebene Funktion faktorisieren, als in ihre Polynomschreibweise bringen, um die Nullstellen ablesen zu können.
 +Im folgenden Beispiel wird zunächst f(x) ausmultipliziert und als g(x) zwischengespeichert. Anschließend wird g(x) ausgegeben (''print''). Anschließend wird g(x) wird in die Polynomschreibweise gebracht und angezeigt.
 +Beispiel: 
 +<code>
 +f=(x+2)*(x-2)*(x+3)
 +g=expand(f)
 +print(g)
 +</code>
 +Ausgabe: x* * 3+3x * * 2−4x−12
 +<code>
 +factor(g)
 +</code>
 +Ausgabe: <m>(x−2)(x+2)(x+3)</m>
 +
 +
 +Hinweis: Die doppelten Sterne bedeuten Potenzieren. In anderen Programmiersprachen wird hierfür häufig auch das Zeichen ''^'' verwendet.
 +
 +===== Beispiel Binomischer Lehrsatz =====
 +
 +Der binomische Lehrsatz wird mit folgender Formel zusammengefasst. 
 +
 +<m>(a+b)^n= sum{k=0}{n}{(matrix{2}{1}{n k})  a^{n-k} b^k}</m>
 +
 +
 +
 +
 +Will man für ein beliebiges n den ausgeklammerten Ausdruck aufschreiben, so kann dies sehr schreibintensiv werden.
 +Der folgende Code kann verwendet werden, um den Ausdruck mittels ''sympy'' ermitteln zu lassen. 
 +<code>
 +a, b = symbols('a b')
 +k, n = symbols('k n', integer=True, positive=True)
 +
 +n=9
 +k=7
 +g=(a+b)**n
 +print ("(a+b)^"+string(n)+" = ")
 +expand(g)
 +</code>
 +
 +Will man z.B. nur den Binomialkoeffizienten für ''n=9'' und ''k=7'' ermitteln, dann kann man den folgenden Code verwenden.
 +<code>
 +from sympy import binomial
 +
 +k, n = symbols('k n', integer=True, positive=True)
 +
 +n=9
 +k=7
 +
 +print ("n= "+n+"   k= "+k)
 +binomial(n, k)
 +</code>
 +
 +
 +
lager/mathe/python.1479237391.txt.gz · Zuletzt geändert: 05.07.2018 10:03 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki