4 wxMaxima | |
→ | 4.7 Ausdrücke verändern |
Mit
subst(neu, alt, Ausdruck); ratsubst(neu, alt, Ausdruck);
werden im Ausdruck alle Vorkommen von alt durch neu ersetzt.
Für subst() muss alt atomar sein oder ein
kompletter Teilausdruck. Für den Ausdruck
2(x+y+z)/w ist beispielsweise
x+y+z ein Teilausdruck, x+y aber
nicht.
Der subst()-Befehl nimmt rein syntaktische Ersetzungen
vor.
Ist alt nicht atomar oder kein kompletter Teilausdruck,
kann ratsubst() verwendet werden, wenn alt eine
Summe, ein Produkt, eine Potenz... ist.
Der ratsubst()-Befehl untersucht den Ausdruck bei der
Anwendung der Substitution.
Das Beispiel zeigt die Verwendung von subst() und ratsubst().
expr: 2*(x+y+z)/w; disp("Ersetzung x+y+z durch a:")$ subst(a, x+y+z, expr); disp("Ersetzung z+y+x durch a:")$ subst(a, z+y+x, expr); disp("Versuch, x+y durch b zu ersetzen mit subst (nicht moeglich):")$ subst(b, x+y, expr); disp("Ersetzung von x+y durch b mit ratsubst:")$ ratsubst(b, x+y, expr);
Mit
substpart(neu, Ausdruck, Position);
wird ein Teilausdruck über eine Positionsangabe substituiert.
Im Beispiel wird im Ausdruck 1/(xa-y) die Position 2, 1, 2 durch b ersetzt.
expr: 1/(x^a-y); substpart(b, expr, 2,1,2);