DMUG-Archiv 2010

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

Re: Sum[x[[i]]+a,{i,1,n}] => Sum[x[[i]],{i,1,n}]+a n

Vielen Dank für den Tipp mit Expand & Distribute.

Aber man will das ganze am Ende auch nach den Unbekannten a & b auflösen:

ClearAll[g]
g[a_, b_, x_, y_] = \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\(Expand[
\*SuperscriptBox[\((HoldForm@y[[i]] - \((a\ HoldForm@x[[i]] + b)\))\), \(2\)]]\)\)
la=Distribute[\!\(
\*SubscriptBox[\(\[PartialD]\), \(a\)]\(g[a, b, x, y]\)\)]
lb=Distribute[\!\(
\*SubscriptBox[\(\[PartialD]\), \(b\)]\(g[a, b, x, y]\)\)]
Reduce[{la==0,lb==0}Element[i,Integer],{a,b}]

Leider läuft man da vor die nächste Wand.

Danke und eine schönen Abend wünscht

Peter

Am 20.10.2010 10:01, schrieb Robert Nowak:
Hallo Peter,

wenn du nicht mit [[]] bzw. Part[] arbeitest, dann brauchst du kein HoldForm. [[]] bzw. Part[] verwendet man eher wenn man Arrays mit definierten Element Werten verwenden will. Wenn man indiziert (so wie du zuletzt mit Subscript[y, i] oder y[i] aber nicht y[[i]]) braucht man kein HoldForm.
Indizierung scheint hier auch angebracht.

Vielleicht ist es das heir was du suchtst ? :

g[a_, b_, x_, y_] = \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]
\*SuperscriptBox[\((
\*SubscriptBox[\(y\), \(i\)] - \((a\
\*SubscriptBox[\(x\), \(i\)] + b)\))\), \(2\)]\)
Distribute[Expand /@ \!\(
\*SubscriptBox[\(\[PartialD]\), \(a\)]\(g[a, b, x, y]\)\)]
Distribute[Expand /@ \!\(
\*SubscriptBox[\(\[PartialD]\), \(b\)]\(g[a, b, x, y]\)\)]


LG Robert




Am 19.10.2010 18:21, schrieb klamser:
Danke.

Aber (z.B. Problem der linearen Regression)

g[a_,b_,x_,y_]=\!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]
\*SuperscriptBox[\((HoldForm@
\*SubscriptBox[\(y\), \(i\)] - \((a\ HoldForm@
\*SubscriptBox[\(x\), \(i\)] + b)\))\), \(2\)]\)
Distribute[\!\(
\*SubscriptBox[\(\[PartialD]\), \(a\)]\(g[a, b, x, y]\)\)]
Distribute[\!\(
\*SubscriptBox[\(\[PartialD]\), \(b\)]\(g[a, b, x, y]\)\)]

funktioniert leider doch nicht.

Peter

Am 19.10.2010 11:06, schrieb Robert Nowak:
Distribute[Sum[HoldForm@x[[i]] + HoldForm@y[[i]] + a, {i, 1, n}]]

MMA verlangt bei Evaluation von Part[] bzw. [[]] immer ein integer, weiters muss das betreffende element bereits exixtieren.
Der tiefere Grund hierführ ??????

Mit HoldForm[] kann man die Evaluation verhinden um sie gegebenenfalls später (wenn der index mittlerweile mittels als integerwert spezifiziert ist) mit ReaseHold dann doch durchzufühern.

LG Robert




Am 18.10.2010 20:44, schrieb klamser:
> ... Danke, so ähnlich habe

ich



mir das vorgestellt.







>







> Aber warum x[i] und nicht x[[i]]?







>







> Danke & einen guten Rest der Woche wünscht







>







> Peter







>







> Am 18.10.2010 16:32, schrieb Stefan Welke:
On 17/10/10 22:35, klamser wrote:
>>>   Hallo,
>>>
>>> wie kann ich MMA überreden  aus
>>>
>>> Sum[x[[i]]+a,{i,1,n}]
>>>
>>> zu
>>>
>>> Sum[x[[i]],{i,1,n}]+a n
>>>
>>> umzuformen?
>>>
>>> Danke&  eine gute Woche wünscht
>>>
>>> Peter
>>>
>>>
Lieber Peter,

ganz einfach, Distribute[Sum[x[i] + y[i] + a, {i, 1, n}]] liefert das
Gewünschte.

Viele Grüße

Stefan Welke
>>







>>







>>

--
Dipl. Ing. (FH) Robert Nowak
IMS Nanofabrication AG
Phone: +43/12144894/32
Fax: +43/12144894/99




--
Dipl. Ing. (FH) Robert Nowak
IMS Nanofabrication AG
Phone: +43/12144894/32
Fax: +43/12144894/99

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

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