Operation Manual
956 Anhang: Funktionen und Anweisungen
part(
Term1
, 0) ⇒
⇒⇒
⇒
String
Vereinfacht
Term1
und gibt eine Zeichenfolge
zurück, welche den Top-level-Funktionsnamen oder
-Operator enthält. Hierbei wird
string(
Term1
)
zurückgegeben, wenn
Term1
eine Zahl, Variable
oder eine symbolische Konstante wie z.B.
p,
e
,
i
oder
ˆ ist.
part(cos(pù x+3),0) ¸ "cos"
part(
Term1
,
n
) ⇒
⇒⇒
⇒
Term
Vereinfacht
Term1
und gibt das
n-
te Argument bzw.
den Operand zurück, wobei
n
> 0 ist und die
Anzahl an Top-level-Argumenten oder -
Operanden, die durch
part(
Term1
) zurück-
gegeben werden. Anderenfalls wird ein Fehler
angezeigt.
part(cos(pù x+3),1) ¸
3+
pøx
Hinweis: Durch die Vereinfachung
wurde die Argumentenreihenfolge
verändert.
Durch Kombination der Variationen von
part()
können Sie alle Unterterme im vereinfachten
Ergebnis von
Term1
extrahieren. Wie aus
nebenstehendem Beispiel hervorgeht, können Sie
ein Argument oder einen Operanden speichern und
dann weitere Unterterme mit
part() extrahieren.
Hinweis: Verlassen Sie sich bei der
Verwendung von
part() nicht auf die
Reihenfolge in Summen und Produkten.
part(cos(pù x+3)) ¸ 1
part(cos(
pù x+3),0) ¸ "cos"
part(cos(
pù x+3),1)! temp ¸
3+
pøx
temp
¸ pøx+3
part(temp,0)
¸ "+"
part(temp)
¸ 2
part(temp,2)
¸ 3
part(temp,1)
! temp ¸ pøx
part(temp,0)
¸ "ù "
part(temp)
¸ 2
part(temp,1)
¸ p
part(temp,2)
¸ x
Terme wie (x+y+z) und (xìyìz) werden intern als
(x+y)+z und (x
ìy)ìz dargestellt. Dies wirkt sich
auf die für das erste und zweite Argument
zurückgegebenen Werte aus. Aus technischen
Gründen gibt
part(x+y+z,1) y+x anstelle von
x+y zurück.
part(x+y+z) ¸ 2
part(x+y+z,2)
¸ z
part(x+y+z,1)
¸ y+x
Ebenso wird xùyùz intern als (xùy)ùz dargestellt.
Auch in diesem Fall wird das erste Argument aus
technischen Gründen als y
øx anstatt als xøy
zurückgegeben.
part(xù yù z) ¸ 2
part(x
ù yù z,2) ¸ z
part(x
ù yù z,1) ¸ yøx
Beachten Sie beim Extrahieren von Untertermen
aus einer Matrix, daß Matrizen, wie in
nebenstehendem Beispiel verdeutlicht, als Listen
von Listen gespeichert werden.
part([a,b,c;x,y,z],0) ¸ "{"
part([a,b,c;x,y,z])
¸ 2
part([a,b,c;x,y,z],2)
! temp ¸
{x y z}
part(temp,0)
¸ "{"
part(temp)
¸ 3
part(temp,3)
¸ z
delVar temp
¸ Done