|
|
If-Abfrage mit Zahlen kleiner 1 funktioniert nicht |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2015, 08:21
Titel: If-Abfrage mit Zahlen kleiner 1 funktioniert nicht
|
 |
Hallo,
ich habe ein kleiner Problem mit einer if-Abfrage und verstehe überhaubt nicht wieso es nicht funktioniert.
Also, die folgende if-Abfrage ist in meinem Programm enthalten und macht irgendwie nicht so ganz das, was sie soll:
Normalerweise müsste Matlab hier in die zweite Bedingung springen, da hier die Bedingung mit 0.02 = 0.02 erfüllt ist. Bei mir springt Matlab hier allerdings immer in die dritte Bedingung, sprich aa = 1.
Wisst ihr vielleicht woran das liegen könnte?
Setze ich z. B. für r=80, l=100 und y_s=-20 funktioniert das Ganze so wie es soll.
Vorab vielen Dank für eure Hilfe.
Ich nutze übrigens Matlab 2014a.
|
|
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 18.08.2015, 08:36
Titel:
|
 |
Hallo,
das Problem liegt wohl an der Reihenfolge der Bedingung. Kehre ich sie um...
funktionert dein Bsp. Allerdings habe ich dafür keine Erklärung. Da können dir aber sicherlich die Matlabcracks Harald und JanS weiterhelfen.
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2015, 08:49
Titel:
|
 |
Vielen Dank für die schnelle Antwort.
Wenn man die Reihenfolge der Bedingung vertauscht, muss aber auch der logische Ausdruck umgekehrt werden.
Und dann funktioniert es leider immer noch nicht
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 18.08.2015, 09:33
Titel:
|
 |
ungenauigleiten bei der darstellung von dezimalzahlen. deine == bedingung ist nicht erfüllt. 0.1-0.08 ist halt nicht genau 0.02 da 0.1 zb nicht ordentlich binär dargestellt wird. tolleranzen könnten hier helfen.
grüße
_________________
richtig Fragen
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2015, 11:47
Titel:
|
 |
Ok. Das war mir nicht bewust, dass das Ergebnis von l-r nicht exakt ausgegeben wird.
Ich konnte das Problem jetzt folgendermaßen lösen:
So funktioniert es jetzt
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 18.08.2015, 19:32
Titel:
|
 |
ich finde es besser mit tolleranzen zu rechnen.
wobei du dann deine tolleranz selber festlegst.
_________________
richtig Fragen
|
|
|
|
|
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.
|
|