|
|
unteschiedliche daten in csv-dateien in einheitliche matrix |
|
ka404 |

Forum-Fortgeschrittener
|
 |
Beiträge: 95
|
 |
|
 |
Anmeldedatum: 29.05.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.05.2013, 19:05
Titel: unteschiedliche daten in csv-dateien in einheitliche matrix
|
 |
|
 |
|
Hallo, ich hab da eine sehr koomplexe frage und zwar will ich Daten (nur Zahlen) aus csv-dateien herauslesen also mit csvread, nun ist das Problem das die Dateien unterschiedliche Struktur aufweisen können, (Programm soll unniversell werden) deswegen muss ein einheitlicher Aufbau hergestellt werden:
- Matrix MD mit 3 Spalten
- 1. Spalte sind die Zeitwerte oder eine fortlaufende Nummer 1, 2, 3,
- 2. Spalte sind die Datenwerte
- 3. Spalte enthält 1 (aktiver Punkt) oder 0 (deaktivierter Punkt)
die funktion soll so aussehen, problem ist aber auch wieder die variable datenn:
function [nb,FB,np,AP] = set_ber(daten,typ)
Eingabevariable daten :
Sie kann entweder ein Zeilen- oder Spaltenvektor eines durchnummerierten Zeitverlaufs sein (dann wird also die Zeit nicht extra mit übergeben)
oder eine Matrix aus zwei Zeilen oder zwei Spalten (dann ist die erste Zeile/Spalte der Zeitvektor und in der zweiten stehen die Daten),
oder eine Matrix aus drei Zeilen oder drei Spalten (dann ist die erste Zeile/Spalte der Zeitvektor, in der zweiten stehen die Daten, in der dritten wird angezeigt, ob es aktivierte (=1) oder deaktivierte Punkte (=0) sind),
Kann mir jemand Bitte helfen?
|
|
|
|
|
Bluesmaster |

Forum-Century
|
 |
Beiträge: 203
|
 |
|
 |
Anmeldedatum: 13.11.11
|
 |
|
 |
Wohnort: Gera
|
 |
|
 |
Version: 2012a
|
 |
|
|
 |
|
Verfasst am: 30.05.2013, 08:31
Titel:
|
 |
Entschuldigung, ich finde das etwas verwirrend geschrieben.
Die Funktion
set_ber
soll
CSV-Dateien lesen die mal 1 mal 2 oder mal 3 Spalten/ Zeilen enthalten kann?
Oder soll die Funktion nach dem Auslesen mit den aufbereiteten Daten
gefüttert werden? Und wenn ja was ist "typ" oder "nb" oder "FB" ...
Für mich bitte nochmal in einfachen klaren Worten
Gruß
Blues
|
|
|
ka404 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 95
|
 |
|
 |
Anmeldedatum: 29.05.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.05.2013, 14:32
Titel:
|
 |
|
 |
|
Hallo,
Vielen Dank schon mal für die schnelle Rückmeldung, und sorry das ich es so komisch formuliert haben, hier noch mehr Informationen. Vielleicht wird es dann verständlicher:
Das Programm set_ber soll als Funktion aus einem übergeordneten Programm aufgerufen werden können.
Da die übergebenen Daten unterschiedliche Struktur aufweisen können, ist als erstes ein einheitlicher Aufbau herzustellen, z.B. so
- Matrix MD mit 3 Spalten usw...
Dann soll sich ein Fenster öffnen, in dem die Datenreihe als dunkelblaue Linie in einem xy-Koordinatensystem dargestellt ist. Deaktivierte Punkte sollen aber hellblau erscheinen.
Eingabevariable typ :
Sie legt fest, wie die Ausgabe der ausgewählten Bereiche und Punkte erfolgt
Ausgabevariable nb : Anzahl der gesetzten Bereiche
Ausgabevariable FB : Das ist eine Matrix vom Typ (nb,3)
also es ist sehr komplex und zunächst meine Frage ist:
wie ich diese unterschiedlichen Dateien einlesen kann also sicherlich einfach mit cvsread
und wie ich dann erkenne wie viele Spalten und Zeilen dort sind.
Diese Daten muss ich dann einheitlich in eine Matrix bringen
stehen also z.B. in der ersten Spalte keine (zeit)werte so soll in die matrix in der ersten spalte fortlaufen die nummer 1,2,3 erscheinen, sind (zeit)werte vorhanden so soll diese auch in die erste Spalte geschrieben
ist das deutlicher? sonst versuch ich meine Fragen kürzer zu fassen...
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 30.05.2013, 20:36
Titel:
|
 |
Das ist alles super schwammig, und in wirklichkeit hört es sich so an, als ob du kein konkretes Problem hast, sondern ein fertiges Script haben möchtest, was das alles für dich erledigt.
ka404 hat Folgendes geschrieben: |
Diese Daten muss ich dann einheitlich in eine Matrix bringen
stehen also z.B. in der ersten Spalte keine (zeit)werte so soll in die matrix in der ersten spalte fortlaufen die nummer 1,2,3 erscheinen, sind (zeit)werte vorhanden so soll diese auch in die erste Spalte geschrieben
|
Naja, dann mach es doch so.
Erst tmp=csvread.
if SIND ZEITWERTE IN tmp(:,1)?
- dann pack tmp(:,1) in MD.
else nummern=1:size(tmp,1);
- pack nummern' in MD.
Irgendwo musst du anfangen, und wenn dann irgendwas nicht funktioniert wie du es dir vorstellst, den code zeigen und nachfragen.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
|
|
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.
|
|