WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Vektor (mit Einträgen durch Komma getrennt) aufspalten

 

kim-elly

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2015, 12:06     Titel: Vektor (mit Einträgen durch Komma getrennt) aufspalten
  Antworten mit Zitat      
Hallo zusammen,
ich habe folgendes Problem:

Ich habe Messdaten, die ich mit Matlab auswerten will, aus einer txt Datei eingelesen.

Code:

[x , y] = textread ('file.txt', '%s%s')


Allerdings werden die durch ein Komma getrennte Spalten nicht erkannt, deshalb habe ich jetzt einen 1xn Vektor, der die Einträge beider Spalten durch ein Komma getrennt enthält und einen leeren 1xn Vektor.

Kann mir jemand helfen, wie ich den Vektor in zwei Vektoren aufspalten kann?

Der 1xn Vektor sieht, wenn ich ihn aufrufe, folgendermaßen aus:
Code:

'(a,b)'
'(c,d)'
'(e,f)'
...
...


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 13.11.2015, 13:54     Titel: Re: Vektor (mit Einträgen durch Komma getrennt) aufspalten
  Antworten mit Zitat      
Hallo kim-elly,

Bitte poste ein kurzes Beispiel, das erklärt, wie das File aussieht.
Vielleicht hilft dies weiter:
Code:
sscanf(fid, '(%g,%g)')

Schaue mal in die Dokumentation von sscanf und fopen .

Dies ist übrigens kein "Vektor" um genau zu sein:
Code:

'(a,b)'
'(c,d)'
'(e,f)'
...
...

Das ist wohl ein Cell-String.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
kim-elly

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2015, 14:09     Titel:
  Antworten mit Zitat      
Hallo Jan,

die txt-Datei sieht folgendermaßen aus:

Frequeny Out
1 (-0,003dB,0.0002°)
2 (-0.003dB,0.0004°)
3 (-0.003dB,0.0005°)
4 (-0.004dB,0.0008°)
...
...

Die erste Spalte wird natürlich ein schöner 1xn-Vektor, aber wie ich Betrag und Phase jeweils in einen 1xn-Vektor bekomme, ist mir ein Rätsel (zumal noch Einheiten mit dran stehen)...
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.11.2015, 01:24     Titel:
  Antworten mit Zitat      
Hallo kim-elly,

Das gezeigte File enthält ein paar Tücken. Dass Du mit [x , y] = textread ('file.txt', '%s%s') einen Vektor bekommst, wundert mich.
Zum einen gibt es eine Header-Zeile am Anfang. Dann werden Kommas als Dezimal-Trenner verwendet, Matlab benötigt aber Punkte. Suche mal hier im Forum, wie man die Kommas in Punkte konvertieren kann.

textread ist veraltet. Welche Matlab-Version verwendest Du?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.