DMUG-Archiv 2004

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: symbolic computation

Hallo,

nein das ist auch v"ollig unn"otig denn man kann ja
a[1]+a[2] schreiben.  Will man dann Elemente eines
einer Liste tatsachlich verwenden sollte

lst = Table[i, {i, 4}];

a[1]+a[2] /.  a[i_] :> lst[[i]]

wohl helfen.

Ausserdem ist a[[1]] oder was auch immer kein *Element* einer
Tabelle, sondern ein Funktionsaufruf an die Funktion Part[].

Damit eine Funktion nicht ausgewertet wird muss man Hold[]
verwenden und

expr=Hold[a[[1]]] + Hold[a[[2]]]

arbeitet auch ohne Fehler. 
Mit

Block[{a={x^2,z}},
  ReleaseHold[expr]
 ]

kann man dann die Elemente einsetzen.

Gruss
  Jens

RGollreiter@XXXXXXX.de wrote:
> 
> Hallo Demug,
> 
> gibt es eine Möglichkeit mit Elementen einer Tabelle als symbolische
> Variablen zu arbeiten, ohne folgende Fehlermeldung zu erhalten:
> 
> In[1]:= a[[1]]+a[[2]]
> 
>      Part::partd: Part specification a[[1]] is longer than depth of object.
>      Part::partd: Part specification a[[2]] is longer than depth of object.
> 
> Out[2]= a[[1]]+a[[2]]
> 
> Mit freundlichen Gruessen
> 
> Richard Gollreiter


Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html