DMUG-Archiv 2000

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

AW: Berechnung einer Funktion

Hallo Igor,

In[1]:=
data = {1, 2, 3, 4, 5, 6, 7, 8, 9};

In[2]:=
tmp = NestList[Rest, data, Length[data] - 2]

Nur bis Length[data]-2, damit im nachsten Schritt nur bis zur
vorletzten Teilliste gerechnet wird.

Out[2]=
{{1, 2, 3, 4, 5, 6, 7, 8, 9}, {2, 3, 4, 5, 6, 7, 8, 9}, {3, 4, 5, 6, 7, 8,
    9}, {4, 5, 6, 7, 8, 9}, {5, 6, 7, 8, 9}, {6, 7, 8, 9}, {7, 8, 9}, {8,
9}}

Wenn ich Dich richtig verstanden habe, dann muesste dies eine
Loesung sein:

In[3]:=
((Plus @@ Rest[#]/(Length[#] - 1)) - First[#]) & /@ tmp

Out[3]=
{9/2, 4, 7/2, 3, 5/2, 2, 3/2, 1}

Gruesze und frohes Schaffen,
Peter

Igor schrieb:

[...]

 Beispieldatensatz:
 In[1]:=
 data={1,2,3,4,5,6,7,8,9}
 Out[1]=
 {1,2,3,4,5,6,7,8,9}

 Teillistenerzeugung:
 In[2]:=
 NestList[Rest, data,Length[data]-1]
 Out[2]=

{{1,2,3,4,5,6,7,8,9},{2,3,4,5,6,7,8,9},{3,4,5,6,7,8,9},{4,5,6,7,8,9},{5,6,7,
8,9}
 ,{6,7,8,9},{7,8,9},{8,9},{9}}

 Und nun komme ich nicht weiter: fuer jede Teilliste moechte ich zuerst
 die Differenzen von restlichen Elementen zum jeweiligen ersten
 Teillistenelement berechnen, diese Differenzen aufaddieren und durch
 die jeweilige Differenzenanzahl dividieren (also durch
 Length[Teilliste[[i]]]-1). Und schliesslich die jeweiligen Ergebnisse
 dann als eine neue Liste darstellen, um diese plotten zu koennen.

 Also im Falle der 1. Teiliste sollte rauskommen:
  [(2-1)+(3-1)+(4-1)+(5-1)+(6-1)+(7-1)+(8-1)+(9-1)]/8 und so weiter
 fuer jede Teilliste bis einschliesslich der vorletzten, wo es 2 Zahlen
 (1 Differenz) gibt.

 Vielen Dank
 Igor





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

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