|
|
Betriebssystem und Dezimaltrennzeichen |
|
hal |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.06.2013, 17:04
Titel: Betriebssystem und Dezimaltrennzeichen
|
 |
Hi,
ich würde gerne das im Betriebssystem eingestellte Dezimaltrennzeichen ermitteln.
Hat jemand dazu eine Idee?
danke!
hal
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.06.2013, 11:18
Titel: Re: Betriebssystem und Dezimaltrennzeichen
|
 |
Hallo hal,
Das kommt ganz auf das Betriebssystem und die Matlab-Version an. Bitte poste dies nochmal.
Gruß, Jan
|
|
|
hal |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.06.2013, 13:52
Titel:
|
 |
Unabhängig vom Betriebssystem bzw. seinen Einstellungen und der MATLAB Version.
Die MATLAB-Funktion num2str() scheint ja immer einen Punkt als Dezimaltrennzeichen zu benutzen. Klar kann man mit replace() dies dann ändern wenn man ein Komma will. Was ist aber wenn im Betriebssystem ein Punkt als Dezimaltrennzeichen festgelegt ist?
gruß
hal
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.06.2013, 15:16
Titel:
|
 |
Hallo hal,
Zitat: |
Unabhängig vom Betriebssystem bzw. seinen Einstellungen und der MATLAB Version. |
Rätselhaft. Benötigst Du wirklich eine Methode, die auch unter Matlab 4.1 auf einer IRIX-Maschine läuft, unter Matlab 5 auf MacOS-7 und Matlab 2013a auf Window 8, Linux und OS-X?!
Matlab verwendet als Dezimal-Trenner einen Punkt. Die Einstellung des Betriebssystems spielt da zum Glück keine Rolle, sonst würden fast alle numerischen Programme bei einer Umstellung nicht mehr korrekt laufen.
Ich nehme an, Dein Problem wird klarer, wenn Du erklärst, was Du genau erreichen möchtest.
Gruß, Jan
|
|
|
hal |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.06.2013, 19:00
Titel:
|
 |
Es wird doch eine möglichkeit geben? Oder stößt das große, mächtige und teuere MATALB an seine Grenzen ?
Ich möchte Daten aus MATLAB exportieren
Zwischenablage, Textdateien, ...
Die Daten bestehen aus Strings und numerischen Werten. Dann wäre es eben extrem nützlich wenn in den numerischen Werten das für das Betriebssystem eingestellte Dezimaltrennzeichen drin ist.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.06.2013, 23:35
Titel:
|
 |
Hallo hal,
Natürlich gibt es da Möglichkeiten, aber eben halt verschiedene je nach Betriebssystem und Matlab Version. Wieso möchtest Du diesbezüglich keine näheren Angaben machen?
Das Gewurstel mit den Dezimal-Kommas bei deutschem Sprach-Schema ist enorm lästig und fehleranfällig (das bertrifft übrigens noch eine Menge weiterer Lokalisierungen). Deswegen beschränken sich die meisten Programme für numerischen Daten auf den Dezimal-Punkt. Auf Anhieb fällt mir nur Excel als Gegenbeispiel ein. Das OpenOffice dies dann als Programm-bezogene Einstellung implementiert hat, finde ich naheliegender.
Ich würde Daten also auf alle Fälle mit dem Dezimal-Punkt exportieren. Wenn Du aber unbedingt das im OS eingestellte Zeichen verwenden möchtest, picke ich mal eine Methode heraus, die auf einigen modernen Matlab-Versionen läuft:
Siehe auch http://undocumentedmatlab.com/blog/formatting-numbers/ .
Gruß, Jan
|
|
|
Sirius3 |

Forum-Guru
|
 |
Beiträge: 441
|
 |
|
 |
Anmeldedatum: 12.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.06.2013, 23:40
Titel:
|
 |
Das Formatieren von Zahlen wird über die Umgebungsvariable LC_NUMERIC festgelegt. Das Interpretieren dieser Angabe hängt von der Konfiguration und Art des verwendeten Betriebssystems ab. »printf« macht hier schon automatisch alles richtig. Matlab setzt aber intern LC_NUMERIC auf 'C' um nicht völliges Chaos zu produzieren. Am stabilsten wird es wohl sein, die entsprechende Locale im Matlabinternen Java zu setzen und dort die Konvertierung von Zahl -> Text zu machen.
|
|
|
hal |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.06.2013, 09:46
Titel:
|
 |
Danke!
ist doch schon was!
Das bringt mich deutlich weiter!
|
|
|
|
|
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.
|
|