|
|
Problem Dezimaltrennzeichen ('0,41' -> 0.41) |
|
zesir1 |

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 22.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2011, 14:05
Titel: Problem Dezimaltrennzeichen ('0,41' -> 0.41)
|
 |
Hallo alle zusammen.
Ich stehe vor dem Problem, dass meine Rohdaten das Dezimaltrennzeichen ',' haben, z.B.: '0,41'. Wenn ich nun mit xlsread() diese Daten einlesen will, erkennt Matlab diese nicht mehr als Zahlen sondern als Strings. Kann mir jemand sagen, wie ich diese Zahlen auch als Zahlen einlesen kann oder diese mit einer möglichst schnellen Routine in Zahlen umwandeln kann. Besten dank für eure Hilfe. Gruess zesir1
_________________
Autoritätsdusel ist der grösste Feind der Wahrheit. (A. Einstein)
|
|
|
|
|
Peter Quint |

Forum-Fortgeschrittener
|
 |
Beiträge: 95
|
 |
|
 |
Anmeldedatum: 21.02.11
|
 |
|
 |
Wohnort: Lübeck
|
 |
|
 |
Version: R2010b
|
 |
|
|
 |
|
Verfasst am: 12.07.2011, 14:31
Titel:
|
 |
Wahrscheinlich gibt es einen regulären Ausdruck mit dem Du das eleganter und schneller hinbekommst. Ansonsten:
ans = 3.2
|
|
|
zesir1 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 22.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2011, 14:47
Titel:
|
 |
Danke für deine Hilfe, nun kann ich das Problem bereits lösen. Falls jemand noch eine elegantere Lösung hat, bin ich natürlich auch nicht abgeneigt...
Beste Grüsse
_________________
Autoritätsdusel ist der grösste Feind der Wahrheit. (A. Einstein)
|
|
|
tompie |

Forum-Guru
|
 |
Beiträge: 260
|
 |
|
 |
Anmeldedatum: 19.09.07
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: immer alles
|
 |
|
|
 |
|
Verfasst am: 13.07.2011, 09:56
Titel:
|
 |
Hallo,
ich denke mal, das Ganze hat eher mit den Ländereinstellungen deines Excel-Programmes zu tun...
Gruß tompie
|
|
|
zesir1 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 22.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.07.2011, 10:05
Titel:
|
 |
Mir ist bekannt, dass man das Trennzeichen unter 'Excel-Optionen\Erweitert' einstellen kann (Das ändert jedoch bei den bestehenden Daten nichts!).
Auch die Excel Routine =WERT(ERSETZEN(B2;FINDEN(",";B2);1;".")) kenne ich. Jedoch möchte ich an meinen Rohdaten nichts ändern müssen, sondern die Daten egal mit welchem Dezimaltrennzeichen von Matlab bearbeiten lassen...
_________________
Autoritätsdusel ist der grösste Feind der Wahrheit. (A. Einstein)
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 13.07.2011, 11:15
Titel:
|
 |
Hallo
Verstehe ich nicht, was du unter Rohdaten hier meinst,
denn XLSREAD liest Zahlen doch entsprechend COM-Schnittstelle. Also sollte Komma in EXCEL nicht störend sein, dass ist ja nur Darstellung.
Nachtrag: Das ist bereits in Excel wohl falsch eingeben, es ist als Text eingeben, also muss du Formatierung der Zellen ändern. Außerdem unterstreicht Excel als Warnung solche Zellen. Wenn man auf diese Warnung klickt, bietet Excel Option, in Zahlen solche Zellen umzuwandeln
|
|
|
zesir1 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 22.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.07.2011, 11:30
Titel:
|
 |
Hallo, unter Rohdaten meine ich Excelsheets die pro Zeile eine Zahl enthalten, die manchmal das Dezimaltrennzeichen '.' haben und manchmal das Dezimaltrennzeichen ','.
Nun mit Komma scheint Matlab nichts am Hut zu haben. Da ich die Daten erhalte und nicht selber aufbereite (und es die Menge auch nicht zulässt) soll Matlab, diese Unschönheit der Rohdaten korrigieren.
Und natürlich hast du Recht damit, das bei einem Komma als Dezimaltrennzeichen, die Zahl als String in Excel gespeichert ist.
_________________
Autoritätsdusel ist der grösste Feind der Wahrheit. (A. Einstein)
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 13.07.2011, 12:13
Titel:
|
 |
Hallo
Also wenn du die Quelle der Fehler nicht eliminieren kannst, dann muss mit der Zwischenlösung mit REGEXPREP leben.
|
|
|
zesir1 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 22.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.07.2011, 12:50
Titel:
|
 |
Ok, danke für eure Hilfe.
_________________
Autoritätsdusel ist der grösste Feind der Wahrheit. (A. Einstein)
|
|
|
|
|
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.
|
|