|
Erano1 |

Forum-Fortgeschrittener
|
 |
Beiträge: 59
|
 |
|
 |
Anmeldedatum: 26.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.08.2016, 22:32
Titel: 1.650e+003 != 1650?
|
 |
Hallo,
wie am Titel zu erkennen habe ich gerade ein Problem mit der Darstellung der Zahlen in Matlab.
Wird der Wert für (te/Ts-ta/Ts)-Tu = 2200 und der vordere 1 ist alles wunderbar, aus dem Outputlog 2200 Werte (1:2200) in D.u gespeichert.
Allerdings kommt es vor, dass das Ergebnis für (te/Ts-ta/Ts)-Tu mit 1.650e+003 angegeben wird und in diesem Fall keine 1650 Werte, sondern nur 1649 Werte gespeichert werden. Dies ist aber nur der Fall wenn innerhalb der Funktion der Wert für (te/Ts-ta/Ts)-Tu in der Form ...e+003 gespeichert wird.
Außerhalb einer Funktion entspricht 1:1.650e+003 auch wieder einem Vektor mit 1650 Werten, wieso in der Funktion nicht?
Wäre sehr dankbar wenn jemand damit schon einmal Erfahrung gemacht hat, und mir dafür eine Erklärung geben kann.
Viele Grüße,
Erano1
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 16.08.2016, 23:03
Titel:
|
 |
Hallo,
es kann bei solchen Berechnungen zu Rundungsfehlern kommen.
(te/Ts-ta/Ts)-Tu ist dann vielleicht 1649.9999997, was gerundet eben der von dir beobachtete Wert ist.
Mit
kannst du dir mehr Dezimalstellen anzeigen lassen.
Wie wäre es mit
round
, um im Falle von Rundungsfehlern auf den nächsten Integer zu kommen?
Grüße,
Harald
|
|
|
Erano1 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 59
|
 |
|
 |
Anmeldedatum: 26.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.08.2016, 11:59
Titel:
|
 |
Hallo Harald,
vielen Dank schon einmal für deine Antwort.
Vorab schon mal: mit round funktioniert es und es werden 1650 Werte gespeichert.
Allerdings ist der Wert glatt 1.650000000000000e+03. Wenn man den Wert kopiert und die Bestimmung von D.u manuell im Befehlsfenster durchführt kommen auch die 1650 Werte zustande.
Programm arbeitet wie es soll, lustig finde ich es trotzdem
Viele Grüße,
Erano1
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.08.2016, 16:35
Titel:
|
 |
Hallo,
probier mal noch format hex. Beispiel:
Grüße,
Harald
|
|
|
Erano1 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 59
|
 |
|
 |
Anmeldedatum: 26.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.08.2016, 19:04
Titel:
|
 |
Hallo,
leider verstehe ich nicht worauf du hinaus möchtest Mittlerweile habe ich überall da wo dynamisch berechnet werden soll welch Werte genommen werden soll "round" benutzt, und damit funktioniert alles einwandfrei
Grüße,
Erano1
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.08.2016, 20:05
Titel:
|
 |
Hallo,
darauf, dass Zahlen selbst dann ungleich sein können, wenn sie mit
gleich aussehen.
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.
|
|