hallo allerseits!
ich habe ein ganz simples problem: ich moechte in einem Ausdruck alle
vorkommen einer bestimmten zahl durch eien ausdruck ersetzen. im folgenden
beispiel ist es die zahl 7 welche durch c ersetzt werden soll.
wie man sieht findet keine ersetzung statt
In[1]:=
{a^-7, b/7} /. 7->c
Out[1]=
{1/a^7, b/7}
nun das ganze noch einmal etwas abgewandelt leider etwas umstaendlich
In[2]:=
{a^-7, b/7} /. {1/7->1/c, -7->-c}
Out[2]=
{a^-c, b/c}
jetzt hat es geklappt;
das problem liegt offensichtlich darin das die ziffer 7 einmal als teil
einer rationalen zahl einmal als teil einer potenz vorkommt, im ersten
ersetzungsversuch aber als ganze zahl.
eigentlich moechet ich also eine ziffer oder eine folge von ziffern (werden
ja ueblicherweise als ganze zahlen aufgefasst) durch eine ausdruck ersetzen,
ohne mich darumm kuemmern zu muessen ob die ziffern zu einer ganz-,
rational-, komplex-, potenz-, etc.- zahl gehoehren.
wozu das ganze ?
manche ausdruecke kann mathematica nur mit ganzen (oder rationalen oder
positiven, etc.) zahlen fuer bestimmte variablen vereinfachen bezw. loesen
d. h. man muss den wert dieser variablen vorher festlegen. in den
vereinfachten ausdruecken kommen die urspruenglichen zahlen dann oft wieder
vor aber z.b. als teil von potenzen, complexen zahlen, etc.
ersetzt man in den vereinfachten ausdruecken diese zahlen durch variablen,
so kommt man durch "probieren" auf allgemeine loesungen fuer die
vereinfachungen. sozusagen experimentelle mathematik. ich hoffe die
mathematik weisen verzeihen mir.
---
Robert Nowak (nowak@XXXXXXX.at)
Ionen Mikrofabrikations Systeme GmbH
A-1020 Wien, Schreygasse 3, Austria
Phone: (+43 1)2144894-34, Fax: (+43 1)2144894-99
|