www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

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
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabExceldaten filtern
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Matlab" - Exceldaten filtern
Exceldaten filtern < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Exceldaten filtern: excelösung
Status: (Frage) beantwortet Status 
Datum: 14:29 Mo 29.10.2007
Autor: Donath

Hi,

ich habe eine exceltabelle die in spalte c beginnt und ca. 2500 Zeilen hat. In Spalte q steht ein Parameter der jedoch nur unregelmässig alle ca. 150 Zeilen auftaucht. Ich will jedoch nur die Parameter aus spalte c-q haben wo ein parameter aus spalte q zuordenbar ist. Das Problem ist zusätzlich, dass excel beim auslesen in jedes Leerfeld eine leezeichen schreibt.
Kann man dafür ein excel oder matlabscript bauen?
Habe die Datei mal angefügt und alle relevanten zeilen rot markiert.
Insgesamt existieren 24 solche datein.
Danke


Dateianhänge:
Anhang Nr. 1 (Typ: xls) [nicht öffentlich]
        
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 16:13 Mo 29.10.2007
Autor: Martin243

Hallo,

willst du die Daten in Excel oder in Matlab weiterverarbeiten?
Da du auch ein Matlabskript als Lösung akzeptierst (viiiieeel einfacher), präsentiere ich ein solches:

raw_data = xlsread('daten.xls');
filt_data = raw_data(~isnan(raw_data(: , end)) , 3:end);

Fertig!
Die Matrix filt_data enthält die Spalten C-Q, dabei aber nur die Zeilen, in denen Q (in Excel) einen Wert hatte. Der Schlüssel ist einfach, dass nichtnumerische Werte in Matlab NaN's ergeben, die man leicht filtern kann.


Gruß
Martin

Bezug
                
Bezug
Exceldaten filtern: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:16 Di 30.10.2007
Autor: Donath

Hi,

hast du eine lösung wie er mir die spalten c-q hintereinander schreibt?
und dann als execelfile ausgibt.
also immer zeile 1 c-q dann dahinter zeile 2 c-q usw.

danke




Bezug
                        
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 11:35 Di 30.10.2007
Autor: Martin243

Hallo,

meinst du jetzt ein Transponieren der Matrix oder einfach alles in eine Zeile schreiben? Letzteres würde Excel nicht öffnen können (zu viele Spalten), also gehe ich von Ersterem aus. Wir haben die Daten in filt_data und schreiben:
dlmwrite('filtdaten.csv', filt_data', ';' );

War das gemeint? Falls nicht, bitte melden.


Gruß
Martin

Bezug
                                
Bezug
Exceldaten filtern: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:44 Di 30.10.2007
Autor: Donath

Hi,

ich meinte eine excelliste der matlabdaten. 15 Spalten und eben die entsprechenden zeilen
Das stimmt. ich kann sie leider nciht hintereinanderschreiben lassen.

Bezug
                                        
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 12:03 Di 30.10.2007
Autor: Martin243

Hallo,

also einfach die in Matlab eingelesenen und gefilterten Daten in ein Excel-taugliches Format zurückschreiben?. Da wir keine xls-Dateien erzeugen können, müssen wir uns mit csv behelfen:

dlmwrite('filtdaten.csv', filt_data, ';' );

Diesmal eben nicht transponiert.


Gruß
Martin

Bezug
                                                
Bezug
Exceldaten filtern: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:09 Di 30.10.2007
Autor: Donath

die transponierte form ist eigentlich besser nur spuckt er mir in excel datumsangaben aus und wenn ich unter zellen formatieren zahl eingebe sind es nciht mehr die originaldaten. hast du dafür eine löäsung?

Bezug
                                                        
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 12:21 Di 30.10.2007
Autor: Martin243

>die transponierte form ist eigentlich besser
Dann bleiben wir dabei.

> nur spuckt er mir in excel datumsangaben aus und wenn ich unter zellen formatieren zahl eingebe sind es nciht mehr die originaldaten. hast du dafür eine löäsung?

[verwirrt]

Bei mir geht es. Hier ein Screenshot von mir:
[Dateianhang nicht öffentlich]

Hat sich zwischenzeitlich das Format der Originaldatei verändert?
Hast du mal mit Wordpad o.ä. in die erzeugte csv-Datei reingeschaut?
Kannst du es bei anhaltender Ratlosigkeit mal anhängen?


Gruß
Martin

Dateianhänge:
Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
Bezug
                                                                
Bezug
Exceldaten filtern: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 12:28 Di 30.10.2007
Autor: Donath

die transponierte variante ist besser, stimmt....komisch wenn ich xlswrite mache geht es....also es funst....invertiert bekomme ich also 15 zweiten und 28 spalten
hast du für matlab eine idee wir er mir alles 28 spalten untereinanderschreibt?
anschliessend brauche ich wieder eine spalte in excel
deine lösungsvorschläge sind genial
danke

Bezug
                                                                        
Bezug
Exceldaten filtern: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:48 Di 30.10.2007
Autor: Donath

ich glaube das war etwas wir, also nochaml:
wenn ich die rohdaten transponiere erhalte ich 28 Spalten, diese 28 sind allerdings schon csv. datein.
wäre es nicht besser, wenn zunächst in matlab alle 28 Spalten hintereinanderweg geschrieben würden und dann am ende eine csv datei mit einer spalte erzeugt würde, hast du dafür eine lösung

danke danke, martin
lars

Bezug
                                                                                
Bezug
Exceldaten filtern: Antwort
Status: (Antwort) fertig Status 
Datum: 13:37 Di 30.10.2007
Autor: Martin243

Hallo,

zuerst: In der von mir benutzten Matlab-Version gibt es noch kein xlswrite, daher der Umweg.

> wenn ich die rohdaten transponiere erhalte ich 28 Spalten, diese 28 sind allerdings schon csv. datein.

Verstehe ich nicht. Wo kommen die 28 Spalten her? Wie können Spalten CSV-Dateien sein?

> wäre es nicht besser, wenn zunächst in matlab alle 28 Spalten hintereinanderweg geschrieben würden und dann am ende eine csv datei mit einer spalte erzeugt würde, hast du dafür eine lösung

Ohne die Frage vorher zu verstehen:

Wenn du eine 28-spaltige Matrix data hast und die Spalten untereinander haben willst, dann geht es per:
data = reshape(data, [], 1);

Wenn es 28 unabhängige Spaltenvektoren sind, z.B. a, b, c,  usw., dann geht es mit:
data = [a ; b ; c ; usw.];


Ich hoffe, das hilft weiter.


Gruß
Martin

Bezug
                                                                        
Bezug
Exceldaten filtern: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:20 Do 01.11.2007
Autor: matux

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


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]