csv in Matlab importieren

OP #1653700
Hi,
ich hoffe Ihr könnt mir bei folgendem Problem weiter helfen, bin nämlich 
nicht so wirklich fit mit Matlab:

Ich hab Messungen als csv vorliegen und will diese durch nen Filter 
jagen. Jetzt bin ich über die Funktion 'csvread' gestolpert. Meine das 
sollte damit gehen. In Simulink habe ich schon die passende 
Übertragungsfunktion für meinen Tiefpass 4. Ordnung. Irgendwie muss das 
doch gehen.
Ich scheitere jetzt gerade schon an der Anzahl meiner Messwerte. Ich 
führe folgendes aus:
M = csvread('messung.csv', 6, 0)
Das funktioniert soweit auch erstmal, aber ich habe wohl zuviele 
Messwerte und er bricht bei 40.000 ab. Kann man dieses Problem irgendwie 
umgehen?

Und wie kann ich diese Messwerte dann in Simulink weiter verwenden?

Oder gibt es noch eine bessere Lösung?

Jetzt hab ich eine Quelle für Simulink gefunden die direkt '*.mat' 
verwenden. Aber wie bekomme ich meine *.csv' in dieses Format?
OP #1654124
Oh, sorry. Ich bekomme zwar eine Matrix, aber Matlab hat wohl eine 
Grenze von 4000000 Datenpaaren. Ich bekomme die Meldung: 'Too many 
elements'

Für Simulink habe ich übrigens inzwischen eine passende Signalquelle 
gefunden. Jetzt muss ich nur noch alle Werte einlesen.
OP #1654929
Ok, der Link ist super. Danke.
Nur leider benutze ich Win7 64-Bit. Das ist nirgends aufgeführt und ich 
hab Angst da was kaputt zu machen wenn ich jetzt in der boot.ini 
rumstocher. Aber wenn ich mir die Tabellen so betrachte sollte das bei 
einem 64-Bit-Betriebstsytem eh kein Problem sein, oder?

Ich probier es nachher nochmal und schreibe dann hier nochmal genau die 
Meldung, die ich bekomme.
OP #1654994
Also, wenn ich die Importfunktion von Matlab nutze bekomme ich die 
Meldung:
Value: 4000001x2 double
Too many elements

Bei der jetzigen Messung bin ich da grad so über der Grenze. Das Problem 
ist aber, dass ich gleich noch Messungen mache die wohl noch mehr 
Messwerte beinhalten.

Im Import Wizard erzählt er mir noch was von 64000016 Bytes und Class 
double.

Hilft das weiter?
OP #1655410
Und noch was: meine Messwerte muss ich noch verschieben, d.h. zur Spalte 
1 der Matrix einen Wert addieren, bzw. subtrahieren. Habe es wie folgt 
probiert:

N = size(M);
for i=1:N(1)
    C(i,1)=A(i,1)+5;
end

bekomme aber nur eine Endlosschleife. Was mach ich falsch? Das muss doch 
irgendwie gehen.
#1655476
Ich arbeite mit Arrays die vieel groesser sind als deine. Das sollte 
normal kein problem sein. In dem Link steht was von Daten importieren 
limierung. Hast du das gelesen? Du musst evtl. eine andere Funktion 
benutzen um deine Daten zu importieren...
"Textscan anstatt load". Steht aber im text... Wie schaut denn dein code 
aus?
#1656014
Super. Glückwunsch. Noch eine Bitte: Kannst du posten was das Problem 
war und wie du es nun behoben hast. Grund ist dass es oft vorkommt das 
jemand anders das gleiche Problem hat (womöglich in ein paar Jahren in 
der Zukunft) und dann viell. auf diesen Thread per Google stößt. Dann 
wäre es gut das die Person hier die Lösung auch gleich sieht... So 
passiert das idealerweise immer damit wir die Datenbank "Internet" immer 
schön sinnvol erweitern. ;)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.