Forum: PC-Programmierung Problem mit Matlab


von Gast (Gast)


Lesenswert?

Mit der Funktion textread lese ich eine Textdatei ein.
1
global path_name                                           
2
global file_name                                               
3
4
[file_name, path_name] = uigetfile({'*.txt'});
5
pfad = strcat(path_name,file_name);       
6
[m1 m2]=textread(pfad, '%s%s%*[^\n]','delimiter',';');
7
8
le2=length(m2);
9
m2_new = m2(6:le2);

-m1 das ein Spaltenvektor ist, beinhaltet das Datum sowie die Zeit
 Beispiel: in m1(1) steht dies hier drin: '01.08.2008 11:56:09'
-m2 das ein Spaltenvektor ist, beinhaltet die Temperatur
 Beispiel: in m2(1) steht dies hier drin: '23.4'

Das Problem hier ist, das ich die Hochkommas nicht weg bekomme.
In den Spaltenvektoren sollen die Informationen ohne Hochkomma enthalten 
sein. Mit diesen Hochkommas kann ich keine weitere Verarbeitung 
vornehmen.

Kann mir dazu jemand helfen?

von Detlef _. (detlef_a)


Lesenswert?

Die Hochkommas so rausnehmen:
s='aa''aa'
ind=find(s=='''')
s(ind)=' '

Da kommt raus aa aa

Cheers
Detlef

von hans (Gast)


Lesenswert?

hallo gast,

matlab kennt zwei verschiedene formen von stringvariablen (cell und 
char). die hochkommas weisen darauf hin, dass es sich um cell-variablen 
handelt, diese können in vektoren angeordnet werden, unabhängig wie lang 
die einzelnen strings sind. bei einem indexierten zugriff bekommt man 
den kompletten string zurück ( m1(1) ... '01.08.2008 11:56:09' ). der 
direkte zugriff auf einzelne buchstaben des strings ist nur bei 
char-variablen möglich. der wechsel von cell nach char geht 
folgendermaßen:
 res1 = char(m1(1));
der wechsel in der anderen richtung geht über die geschweiften klammern:
 m1(1) = {res1};

viel spass noch mit matlab

von Klaus R. (klaus2)


Lesenswert?

...für sowas gibt es auch ein deutsches MatLab Forum: www.goMatlab.de

Da posten auch Mitarbeiter von TMW.

Gruß, Klaus.

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
Noch kein Account? Hier anmelden.