WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

0,3 ist nicht gleich 0,3

 

Katharina
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 21.05.08
Wohnort: ---
Version: R2010a
     Beitrag Verfasst am: 09.09.2008, 10:35     Titel: 0,3 ist nicht gleich 0,3
  Antworten mit Zitat      
Hallo!
Hatte irgendjemand schon mal das Problem, dass Matlab bei einer if-Abfrage nicht erkannt hat, dass zwei Werte gleich sind, obwohl sie gleich sein sollten???
In einer Schleife werden Werte aus Vektoren verglichen. Der eine Vektor wird einfach angelegt über
x=0:0.1:1
und der andere Vektor wurde vorher über die Funtkion
y=round(zweiter_vektor.*100)/100;
auf zwei Nachkommastellen gerundet.
Nun beträgt die Differenz x-y, die eigentlich null sein sollte, 5.5511e-017 (übrigens nur bei dem Wert 0,3, alle anderen sind in Ordnung)!
Weiß jemand, warum???

Vielen Dank!
Gruß,
Katharina
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 09.09.2008, 11:57     Titel:
  Antworten mit Zitat      
Was sind denn die Werte von "zweiter_vektor"?

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Katharina
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 21.05.08
Wohnort: ---
Version: R2010a
     Beitrag Verfasst am: 09.09.2008, 12:30     Titel:
  Antworten mit Zitat      
Also, der Vektor "zweiter_Vektor" stammt eigentlich aus einer Tabelle (erste Spalte), wurde aber ebenfalls erstellt über 0:0.01:1. Das runden wird also im wesentlichen für die Werte IN der Tabelle durchgeführt, aber dieser Vektor wird natürlich mitgerundet.
Immer, wenn die Werte von x und y übereinstimmen, soll etwas mit den Werten in der Tabelle passieren, was hier nicht relevant ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 09.09.2008, 12:36     Titel:
  Antworten mit Zitat      
Hallo Katharina,

schau mal hier:

http://www.gomatlab.de/viewtopic,p,1115.html#1115

Das wesentliche steht im zweiten Post: 0.1 ist im Dualsystem, das dem Rechner zugrundeliegt, eine periodische Zahl. Auch eine Lösung findet sich dort.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Katharina
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 21.05.08
Wohnort: ---
Version: R2010a
     Beitrag Verfasst am: 09.09.2008, 12:49     Titel:
  Antworten mit Zitat      
Vielen Dank, Bijick, das ist genau das, was ich wissen wollte! Wusste halt nur nicht genau, wonach ich im Forum suchen sollte, sonst wär ich vielleicht schon drauf gestoßen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.