|
kevka |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 20.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2016, 09:59
Titel: Matrix bearbeiten
|
 |
Hallo,
ich habe eine Frage bezüglich der Reduzierung von Excel-Tabellen.
Ich habe eine Exceldatei mithilfe von xlsread eingelesen und möchte nun folgendes tun und zwar habe eine Spalte mit bestimmen Energieträgern : "Windkraft" "Solarkraft" "Pumpspeicher" usw.
Nun möchte ich nur noch alle Zeilen haben die etwas mit dem Wort "Windkraft" zu tun haben.
Mein Ansatz war erstmal mit strcmp das Wort "Windkraft" zu filtern , aber nun weiß ich nicht wie ich weiter vorangehen soll dass ich nur noch die zeilen habe in denen das Wort "Windkraft" enthalten ist.
Zum anderen wollte ich noch fragen wie ich eine Zeile komplett entfernen kann.
Viele Grüße
Kevin
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.04.2016, 10:56
Titel: Re: Matrix bearbeiten
|
 |
Hallo kevka,
Zitat: |
Ich habe eine Exceldatei mithilfe von xlsread eingelesen... |
Wovon möchtest Du eine Zeile entfernen? Aus dem File oder aus den Daten?
Die Daten liegen als CELL vor. Die Information, dass es um ein Excel-File geht ist deshalb eigentlich nur verwirrend, oder?
Zitat: |
Nun möchte ich nur noch alle Zeilen haben die etwas mit dem Wort "Windkraft" zu tun haben. |
Was heißt "zu tun haben" genau?
Ih vermute
~cellfun('isempty', strfind(DataCell))
wird Dir weiter helfen.
Gruß, Jan
|
|
|
kevka |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 20.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2016, 11:03
Titel:
|
 |
Hi Jan,
ich habe das mithilfe [~,~,A]=xlsread('...') eingelesen
gibt es die Möglichkeit, wenn ich das innerhalb von MatLab lösche und es später als eine csv. datei exportiere?
Ich meine das so, ich habe mehrere Spalten, und in der einen stehen die Energieträger.
Und mein Ziel ist es dass ich nur noch die Zeilen übrig habe , wo ich das Wort Windkraft drin habe
und wie du auf dem screenshot sehen kannst, würde ich gerne die ersten 3 Zeilen komplett entfernen.
Bin noch ein Neuling mit MatLab.
Gruß Kevin
Beschreibung: |
|
 Download |
Dateiname: |
MatLab.jpg |
Dateigröße: |
518.29 KB |
Heruntergeladen: |
294 mal |
|
|
|
kevka |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 20.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2016, 14:23
Titel:
|
 |
Sorry für den Doppelpost,
hatte mir vom code her erstmal was ganz einfaches überlegt, kann man das so als Ansatz nehmen?
Es gibt nämlich noch eine Spalte in der beschrieben wird, ob das Objekt ( hier Erzeugungsanlage) 'OK' ist und wenn dies der Fall möchte ich die Zeile behalten, ansonsten löschen
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.04.2016, 14:47
Titel:
|
 |
|
 |
|
Hallo kevka,
Zitat: |
gibt es die Möglichkeit, wenn ich das innerhalb von MatLab lösche und es später als eine csv. datei exportiere? |
Das funktioniert.
Zitat: |
Ich meine das so, ich habe mehrere Spalten, und in der einen stehen die Energieträger. |
Und ist Dir die Position der gewünschten Spalte bekannt? Falls ja, welche ist es denn? Je mehr Details Du erklärst, desto passender und einfacher ist eine Antwort.
Zitat: |
und wie du auf dem screenshot sehen kannst, würde ich gerne die ersten 3 Zeilen komplett entfernen. |
Das kann ich auf dem Screenshot nicht erkennen.
Zitat: |
Es gibt nämlich noch eine Spalte in der beschrieben wird, ob das Objekt ( hier Erzeugungsanlage) 'OK' ist und wenn dies der Fall möchte ich die Zeile behalten, ansonsten löschen |
Der gepostete Code wird nicht das tun, was Du erwartest. Du vergleichst in jeder Iteration die Spalte 23 des Cells "B". Als Rückgabe erhältst Du einen Vektor mit 0 und 1 jenachdem ob der String 'OK' war oder nicht. Dieser Vektor ist niemals leer, denn er enthält ja 0 und 1 Werte.
Versuche mal dies:
Gruß, Jan
|
|
|
kevka |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 20.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2016, 15:02
Titel:
|
 |
|
 |
|
Hi Jan,
das was du mir geschrieben hat mich definitiv einen Schritt Näher gebracht.
Kann man auch bei dem Code den du mir geschrieben hast ab Zeile 4 die Spalte 23 vergleichen?
die andere Spalte die ich meinte mit den Energieträgern ist die Zeile 7, jedoch müsste es ja dort mit dem Wort 'Windkraft' analog zu deinem funktionieren oder ?
Um nochmal zu erklären was ich im allgemeinen meine ist :
Ich habe bei dieser Tabelle 23 Spalten, das mit dem Zeilen löschen hat soweit geklappt so wie du es mir geschrieben, nur wie lösche ich jetzt z.B die erste Spalte? Da steht nämlich nur ein Datum und das ist für meine Auswertung irrelevant
der code :
Mein Hauptziel ist es , das was man mit Excel sowieso machen kann, beispielsweise eine Spalte die ich nicht brauche oder etwas rausfiltern anhand eines Wortes, dies mit MatLab durchzuführen um ein gewisses Gefühl für das Programm zu bekommen.
Ich habe zwar mal einen Grundlagenkurs besucht, aber wenn man keine Routine sammelt vergisst man wieder alles, deswegen bitte ich dich die banalen Fragen zu entschuldigen.
Gruß
Kevin
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|