matlab speichert meinen vektor, der nur aus ganzen zahlen besteht, manchmal(!) in folgender form:
1.0e+003 * [ 0.882 0.883 0.884 etc. ]
anstatt eben
[ 882 883 884 etc. ]
ich könnte es durch round() z.b. beheben, würde somit aber rechenaufwand erzeugen, der eigentlich unnötig ist. hat jemand ne ahnung wie man das deaktiviert bzw. woran es liegt?
denny hat den einen Teil schon beantwortet. Vielleicht ist der andere Teil nur eine Verständnisfrage, dass es um keine Änderung der numerischen Werte ist, sondern nur eine Sache der Darstellung.
Nach den hier vorliegenden Informationen würde ich also einfach sagen: Als DOUBLE lassen, mit POLYFIT arbeiten und ggf. (Zwischenergebnisse) geeignet formatiert ausgeben.
Wenn Du SPRINTF oder FPRINTF zur Ausgabe benutzt, hast du noch mehr Einstellmöglichkeiten.
Gruß, Jan
Steven
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 19.02.2011, 17:07
Titel:
Hallo,
ich habe ein ähnliches Problem nur geht es in die andere Richtung.
Ich arbeite mit sehr kleinen wissenschaftlichen werten der Form 123e-9 bis 12e-11.
Wenn ich diese Werte in eine Matrix speichere rundet MATLAB diese Zahlen auf 0. Ich habe schon probiert die Matrix als double zu definieren, leider mit dem gleichen Ergebnis. Gibt es eine Einstellung das MATLAB auch mit diesen kleinen Zahlen rechnen kann?
Des weiteren werden alle meine Daten nach der 4 Nachkommastelle gerunden, egal wie groß die Zahl vor dem Komma ist.
Ich verstehe nicht warum ein Mathematisches Rechenprogramm soetwas macht.
Mein pobliger Taschenrechner rundet doch auch nicht einfach....
wie du beim Ausführen deiner Rechnungen selbst feststellen wirst, rundet MATLAB keineswegs. Es ist lediglich eine Frage der Anzeige. Und dazu hat Jan schon Anregungen gegeben, ich würde nur noch das hinzufügen:
Das bringt meines Erachtens die schönste Darstellung.
Zitat:
Ich verstehe nicht warum ein Mathematisches Rechenprogramm soetwas macht.
Das würde ich auch nicht verstehen. Aber dem ist ja nun auch nicht so.
Grüße,
Harald
Steven
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 19.02.2011, 18:52
Titel:
Also verstehe ich das richtig, das MATLAB zwar gerundete Werte anzeigt aber im Hintergrund mit den normalen Werten weiterrechnet?
Das wäre natürlich weltklasse...
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
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.