|
Gast |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 11:42
Titel: Vergleich zweier Zahlen
|
 |
Hallo,
ich habe ein wahrscheinlich relativ einfaches Problem. Ich berechne innerhalb von For-Schleifen 2 Zahlen und möchte diese mit Hilfe einer IF-Abfrage vergleichen. Hierzu ein kleines Beispiel:
Für a=31 und b=63 sollte die Bedingung erfüllt sein, jedoch gibt Matlab nichts aus.
Vielen Dank für eure Antwort.
Grüße
|
|
|
|
|
tompie |

Forum-Guru
|
 |
Beiträge: 260
|
 |
|
 |
Anmeldedatum: 19.09.07
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: immer alles
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 12:30
Titel:
|
 |
Hallo,
das ist das bekannte Rundungsproblem. Wenn Du den Vergleich direkt programmierst mit R==L, wirst Du mit ziemlich jeder Programmiersprache dieser Welt dasselbe Problem bekommen, denn für a = 31 und b = 63 erhält man
Man kann das Problem lösen, wenn man den Vergleich z.B. als
formuliert.
Das ist kein Matlab-spezifisches Problem, sondern ein prinzipielles.
Gruß tompie
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 12:54
Titel:
|
 |
|
|
Gast |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 13:20
Titel:
|
 |
Vielen Dank für die Antwort...hät ich auch selbst drauf kommen können.
Ich hab mir da jetzt ein wenig anderst beholfen, indem ich beide Berechnungen auf Integer-Basis durchführe und somit Gleitkommazahlrundung vermeide:
Grüße
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 12.11.2009, 14:24
Titel:
|
 |
In diesem Beispiel sind die Variablen immer noch DOUBLE. Integer werden sie nur durch Arbeiten mit UINT8 isw.
Andreas
|
|
|
|
|
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.
|
|