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?
"Bricht ab" ist wie immer eine super Fehlerbeschreibung. Da werden alle hier sofort wissen was los ist und dir die Loesung präsentieren...
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.
Die Limitierung waere mir neu. 4 Mio. is doch fast nix. 4 Mrd. waer a bisl was. http://www.mathworks.com/support/tech-notes/1100/1107.html
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.
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?
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.
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?
Weis net, sollte alles dokumentiert sein bzw. probiers doch einfach aus. Net so faul sein! ;)
ok, zu später stunde klappt jetzt alles. danke für deine unterstützung.
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. ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.