www.vorwissen.de
Ein Projekt von vorhilfe.de
Das gesammelte Wissen der Vorhilfe
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Mathematica" - Zeilen automatisch löschen
Zeilen automatisch löschen < Mathematica < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Zeilen automatisch löschen: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 14:07 Di 08.02.2011
Autor: danm357

Liebe Forengemeinde,

leider habe ich ein Mathematica-Problem, das ich alleine nicht lösen kann.
Vielleicht könnt Ihr mir weiterhelfen.

Ich habe eine lange Tabelle und möchte nun bestimmte Zeilen löschen, wenn der Eintrag in einer Spalte dieser Zeile einen bestimmten Wert unter/überschreitet.

Hier ein Beispiel:
Aus folgender Tabelle soll immer die Zeile gelöscht werden, bei der der  Wert in der 4ten Spalte grösser (>) als 3 ist.

Also, aus
{{a,2,g,3,f},{b,3,h,2,t},{w,5,t,4,z},{a,2,g,3,f},…},

soll folgendes werden:
{{a,2,g,3,f},{b,3,h,2,t},{a,2,g,3,f},…}  

Da meine Tabelle recht lang ist (60000 Zeilen), wäre es schön, wenn mir jemand sagen kann, wie ich das geschickt programmieren kann.
Für Hinweise und kleine Tipps wäre ich auch schon sehr dankbar!

        
Bezug
Zeilen automatisch löschen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:02 Di 08.02.2011
Autor: Sigma

Hallo danm357,

probier mal folgendes

1: Select[{{a, 2, g, 3, f}, {b, 3, h, 2, t}, {w, 5, t, 4, z}, {a, 2, g, 
2:    3, f}}, #[[4]] <= 3 &]


Das wählt alle Elemente der Liste aus deren Eintrag in der 4. Spalte kleiner gleich 3 ist. Probier es aus und melde dich mal.

mfg sigma

Bezug
                
Bezug
Zeilen automatisch löschen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:21 Di 08.02.2011
Autor: danm357

Hallo Sigma,

Vielen Dank für die schnelle Antwort. So weit kam ich fast auch schon, jedoch habe ich leider nie das #-Symbol verwendet, sondern immer den Namen meiner Tabelle...
Naja, jetzt weiss ich ja Dank Dir wie es richtig geht!!
Klappt auf alle Fälle ganz wunderbar!

Danke, cu!


Bezug
                        
Bezug
Zeilen automatisch löschen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:46 Sa 12.02.2011
Autor: Peter_Pein

Hallo,

falls dir anonyme Funktionen (noch) suspekt sind, hindert dich niemand, aus Gründen der Übersichtlichkeit die Testfunktion zu benennen:
1: In[1]:= meinetabelle={{a,2,g,3,f},{b,3,h,2,t},{w,5,t,4,z},{a,2,g,3,f}};
2: In[2]:= test[lst_]:=lst[[4]]<=3;
3: In[3]:= Select[meinetabelle,test]
4: Out[3]= {{a,2,g,3,f},{b,3,h,2,t},{a,2,g,3,f}}

Eine andere "typische" Mathematica-Methode ist die Mustererkennung.
Z.B.:
1: In[4]:= muster={__,testobjekt_,_}/;testobjekt>3;
2: In[5]:= DeleteCases[meinetabelle,muster]
3: Out[5]= {{a,2,g,3,f},{b,3,h,2,t},{a,2,g,3,f}}


Ansonsten finde ich in den meisten Fällen die Beispiele in der Dokumentation von Mma hilfreich; die wahren Perlen verbergen sich jedoch oft in dem Absatz "More information" auf den Hilfeseiten.

Gruß,
Peter



Bezug
        
Bezug
Zeilen automatisch löschen: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:21 Fr 11.03.2011
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathematica"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorwissen.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]