Es gibt verschiedene Varianten:
In[1]:= v=p/.Flatten[Solve[p==2p-c,p]]
Out[1]= c
In[2]:= v=p/.Solve[p==2p-c,p,p,MakeRules->True]
Out[2]= c
In[3]:= Unprotect[Set];SetAttributes[Set,HoldAll];
In[4]:= Set[x_, y_Solve] := x = y[[1, 1, 2]]
In[5]:= v = Solve[p == 2p - c, p]
Out[5]= c
Wobei die letzte Variante nicht ernsthaft in Erwägung gezogen werden sollte,
da man eigentlich nicht ohne Not die Attribute von eingebauten
Mathematica Funktionen ändern sollte
(obwohl es mich manchmal schon wundert dass z.B.
If kein SequenceHold Attribut hat).
Man kann sich auch einfach eine Funktion schreiben die man gerade braucht,
siehe z.B. http://www.feyncalc.org/Solve2/
MfG,
Rolf Mertig
Mertig Consulting
http://www.mertig.com
On Tuesday 08 October 2002 05:07 pm, Jochen Haller wrote:
> Hallo Liste!
>
> Wahrscheinlich banal, trotzdem für mich zu schwer ;).
>
> Folgende Frage: Wie kann ich eine Variable als Ergebnis einer Operation
> übernehmen und zwar OHNE Klammern?
>
> Beispeil:
>
> Das Ergebnis von v=Solve[p==2p-c,p,p] soll bei Eingabe von v ohne
> {}-Klammern ausgegeben werden, so daß ich v weiterarbeiten kann.
> Wie geht das?
>
> MfG
>
> Jochen Haller
>
> --------------------------------------------
> Dipl.-Kfm. Jochen Haller
>
> Institut für Volkswirtschaftslehre und Recht
> Abteilung für Mikroökonomik
> Keplerstraße 17, 10. OG
>
> 70174 Stuttgart
>
> 0711 121-3557
> 0711 121-2450 (FAX)
>
> haller@XXXXXXX.de
>
> http://www.sofo.uni-stuttgart.de/mikro/haller.html