|
Sarima |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 17.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.07.2012, 17:24
Titel: Bruch runden
|
 |
Hallo liebe Community,
ich habe ein denkbar einfaches Problem: Ich möchte die Summe 1 auf drei Elemente aufteilen. Was natürlich 0.3333, 0.3333, 0.3333 wäre. Wenn ich diese Zahlen jedoch an ein anderes Program übergebe gibt es ärger, weil die Summe dieser drei elemente nicht die Summe 1 sondern 0.9999 ist. Wünschenwert wäre das eines der Ergebnis 0.3334 is und damit die Summe 1 ist. Hat jemand eine Idee?
DANKE DANKE für jede Idee
LG Sarima
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 25.07.2012, 18:48
Titel: Re: Bruch runden
|
 |
Hallo Sarima,
Das ist wegen der begrenzten Precision des Typs DOUBLE nicht generell machbar. Sogar mit weniger Stellen gibt es keine "glatte" Lösung, da einfach nicht alle Dezimalzahlen exakt als Binärzahlen repräsentiert werden können. Ein Standardbeispiel:
Das Problem ist also nicht "denkbar einfach" sondern nicht lösbar.
Wenn Du Zahlen mit 4 Nachkommastellen benutzen möchtest, könntest Du die Zahlen mit 10000 multiplizieren. Die Verwendung der Integer-Werte funktioniert dann zuverlässig - solange Du nicht mehr als 15 Stellen verwendest.
Gruß, Jan
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.07.2012, 09:29
Titel:
|
 |
Hallo,
auf den ersten Blick würde ich versuchen, mich hier "durchzuschummeln" und das letzte Element des Vektors ein wenig zu korrigieren:
Zumindest bei einer "angenehmen" Zahl wie A = 1 würde ich davon ausgehen, dass nun tatsächlich immer
erfüllt ist.
Grüße,
Harald
|
|
|
|
|
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.
|
|