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