Hallo Robert & Peter,
wenn es elegant nicht mehr geht dann eben auf die harte Tour:
Es geht ohne explizite Ersetzungsregeln. Ein Operator X übernimmt das
Ausklammern und Solve[] löst das lineare Gleichungssystem:
In[80]:= ClearAll[g, X]
X /: X[\[Alpha]_ \[Beta]_, l_List] := \[Alpha] X[\[Beta], l] /;
FreeQ[\[Alpha], First[l]]
g[a_, b_, x_, y_] = \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\(Expand[
\*SuperscriptBox[\((
\*SubscriptBox[\(y\), \(i\)] - \((a\
\*SubscriptBox[\(x\), \(i\)] + b)\))\), \(2\)]]\)\)
In[81]:= la = Distribute[D[g[a, b, x, y], a]]
In[82]:= lb = Distribute[D[g[a, b, x, y], b]]
In[83]:= Solve[{(la /. Sum -> X) == 0, (lb /. Sum -> X) == 0}, {a, b}] /.
X -> Sum
Gruss
Udo.
g[a_, b_, x_, y_] = \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\(Expand@
\*SuperscriptBox[\((y[i] - \((a\ x[i] + b)\))\), \(2\)]\)\)
la = Distribute@\!\(
\*SubscriptBox[\(\[PartialD]\), \(a\)]\(g[a, b, x, y]\)\)
lb = Distribute@\!\(
\*SubscriptBox[\(\[PartialD]\), \(b\)]\(g[a, b, x, y]\)\)
{la == 0, lb == 0} /. {\!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\(2\ b\ x[i]\)\) ->
2 b \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\ \(x[i]\)\), \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\(2\ a\
\*SuperscriptBox[\(x[i]\), \(2\)]\)\) -> 2 a \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\
\*SuperscriptBox[\(x[i]\), \(2\)]\), \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\(2\ a\ x[i]\)\) ->
2 a \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\ \(x[i]\)\)} //
Solve[#, {a, b}] &
Waren wir uns nicht schon einmal einig, dass bei deinem Problem []
anstelle [[]] zu verwenden ist ;)
LG Robert