DMUG-Archiv 2000

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

Re: Daten gruppieren ...

Hallo Andreas,

ich glaube, Deine Aufgabe kann folgendermassen geloest werden.  Zunaechst
ein Datenvektor:

data1 = {{1.0,1.0},{1.2,3.0},{2.0,1.0},{3.0,0.0},{3.5,6.0}}

Falls nun die Gruppen, in die Du die Daten einteilen willst, jeweils gleich
lang sind (in unserem Beispiel Intervalle der Laenge 1), kann man folgendes
Konstrukt zur Einteilung benutzen:

Table [ Select[
        data1,
        (#[[1]]<i+1 && #[[1]]>=i)&
        ],
{i,0,5} ]

Das Ergebnis:
{{}, {{1., 1.}, {1.2, 3.}}, {{2., 1.}}, {{3., 0.}, {3.5, 6.}}, {}, {}}

Falls die Einteilung, die benutzt werden soll, unregelmaessig ist (d.h.
nicht ohne weiteres mittels Table erzeugt werden kann), so gibt man die
jeweiligen Ober- und Untergrenzen der Intervalle in einem weiteren Array
an; in folgendem Beispiel werden die Teillisten gruppiert, deren erste
Komponente zwischen 0 und 2, 2 und 3 bzw. 3 und 5 liegt:

Select[
      data1,
      Function[{sublist}, sublist[[1]]<#[[2]] && sublist[[1]]>=#[[1]] ]
      ]& /@ {{0,2},{2,3},{3,5},{5,10}}

Ergebnis:

{{{1., 1.}, {1.2, 3.}}, {{2., 1.}}, {{3., 0.}, {3.5, 6.}}, {}}

mfG
Clemens

------------------------------------------------------------
Clemens Frey
Chair of Applied Mathematics
Mathematical Institute
University of Bayreuth
D-95440 Bayreuth (Germany)

phone: +49 (0)921/55-3285
fax  : +49 (0)921/55-5361
clemens.frey@XXXXXXX.de
http://www.uni-bayreuth.de/departments/math/org/mathe5/staff/memb/cfrey/home.html
------------------------------------------------------------

Foxfire wrote:

> Liebe Mathamtikaner,
>
> darf ich nochmal eine (fuer manchen offensichtlich triviale) Frage
> stellen?
> Aber ich sitze schon wieder einige Tage an einem kleinen Problem.
> Bisher haben mir weder die online-Dokumentation noch drei Buecher nicht
> weiter geholfen:
>
> ich habe meine Daten in einem Array (oder ist es eine Matrix?) in der
> folgenden Art
> data={{0,0}, {0.1,100}, {0.11, 49}, {0.9, 23}, .. {49.7, 0.01}}
> Gern wuerde ich die Daten in Gruppen zusammenfassen, e.g. alle Daten von
> {0,0} bis {4.9, irgendwas}sollen in eine Gruppe. Die naechste Gruppe
> waere von {5.0, irgendwas} bis {9.9, irgendwas} ... etc bis {49.9,
> irgendwas}
>
> Wie bringe ich armer Tropf der gewaltigen Mathematica-Software bei, dass
> die Daten gruppiert werden in der Form:
> data[0]={0,0} bis {4.9, irgendwas}
> data[1]={5.0, irgendwas} bis {9.9, irgendwas}
> ...
> data[n]={40.0, irgendwas}{49.9, irgendwas}
>
> Wahrscheinlich ist es ganz simpel, aber ich krieg es einfach nicht hin
>
> Es gruesst (leicht verzeifelt)
>
> Andreas Wagner
> ICQ: 3363555
> Email: a2244101@XXXXXXX.de
> (the following address is for future purposes, only: Foxfire@XXXXXXX.de)



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

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