|
3.3.9 Vereinfachung
Ausdrücke vereinfachen
Mathematica vereinfacht einen derartigen Ausdruck nicht automatisch.
In[1]:= (1 - x)/(1 - x^2)
Out[1]= 
Simplify führt die Vereinfachung durch.
In[2]:= Simplify[%]
Out[2]= 
Simplify führt allgemein übliche algebraische und trigonometrische Vereinfachungen durch.
In[3]:= Simplify[Sin[x]^2 + Cos[x]^2]
Out[3]= 
Es führt jedoch keine komplexeren Transformationen durch, die zum Beispiel spezielle Funktionen beinhalten.
In[4]:= Simplify[Gamma[1+n]/n]
Out[4]= 
FullSimplify führt derartige Transformationen durch.
In[5]:= FullSimplify[%]
Out[5]= 
Vereinfachung kontrollieren
Hier ist ein Ausdruck mit trigonometrischen Funktionen und Quadratwurzeln.
In[6]:= t = (1 - Sin[x]^2) Sqrt[Expand[(1 + Sqrt[2])^20]]
Out[6]= 
In der Voreinstellung wird FullSimplify versuchen, alles zu vereinfachen.
In[7]:= FullSimplify[t]
Out[7]= 
Jetzt wird FullSimplify vermeiden, Quadratwurzeln zu vereinfachen.
In[8]:= FullSimplify[t, ExcludedForms->Sqrt[_]]
Out[8]= 
Weitere Kontrolle der Vereinfachung
Sowohl bei Simplify als auch bei FullSimplify gibt es immer das Problem, was als die „einfachste" Form eines Ausdrucks anzusehen ist. Mit der Option ComplexityFunction -> c kann eine Funktion angegeben werden, die dieses entscheidet. Die Funktion wird auf jede mögliche Form des Ausdrucks angewendet, und diejenige, die den kleinsten numerischen Wert liefert, wird als einfachste angesehen.
Mit der voreingestellten Definition von Einfachheit wird Simplify dies ungeändert lassen.
In[9]:= Simplify[4 Log[10]]
Out[9]= 
Dies wird nun versuchen, die Anzahl Elemente im Ausdruck zu minimieren.
In[10]:= Simplify[4 Log[10], ComplexityFunction -> LeafCount]
Out[10]= 
|