|
YOmaYO |
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 09.12.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.06.2008, 12:20
Titel: while-Schleife
|
|
while (a(i)<0.8 || a(i)<0.9 ) warum nimmt matlab nur die erste bedingung, also a(i)<0.8, wahr und die zweite wird ignoriert?
danke!!!
ES GEHT WIEDER DANKE!!!
|
|
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 11.06.2008, 12:52
Titel:
|
|
Weil vielleicht Matlab so schlau ist
und weiß dass wenn eine Zahl kleiner 0.8 ist sie wohl automatisch kleiner 0.9
Eigentlich bei Und Verknüpfung wird zuerst erste Bedingung überprüft.
Ist sie wahr muss zweite überprüft werden.
Denn Gesamt Ergebnis noch unbekannt ist.
TRUE&&FALSE = FALSE
TRUE&&TRUE = TRUE
Ist die erste Bedingung dagegen falsch, wird die zweite Bedingung nicht mehr überprüft.
Denn wenn erste FALSE ergibt ist das Gesamtergebnis auf jedenfall FALSE
FALSE&&FALSE = FALSE
FALSE&&TRUE = FALSE
Edit:
könnte schwören, dass es vor 10 Minuten noch UND-Verknüpfung war.
Na ja egal:
Bei ODER ist umgekehrt.
Ist erste Bedingung TRUE, dann Gesamtergebnis ist bereits bekannt
TRUE || FALSE = TRUE
TRUE || TRUE = TRUE
Ist erste Bedingung False, dann Gesamtergebnis ist unbekannt
FALSE&&TRUE = TRUE
FALSE&&FALSE = FALSE
|
|
|
keloid |
Forum-Century
|
|
Beiträge: 216
|
|
|
|
Anmeldedatum: 04.10.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.5.0.342 (R2007b)
|
|
|
|
|
|
Verfasst am: 11.06.2008, 12:59
Titel:
|
|
Zitat aus der MAtlabhilfe:
Zitat: |
|| Short-Circuit Logical OR.
A || B is a scalar value that is the logical OR of scalar A and B.
This is a "short-circuit" operation in that MATLAB evaluates B only
if the result is not fully determined by A. For example, if A equals
1, then the entire expression evaluates to logical 1 (TRUE), regard-
less of the value of B. Under these circumstances, there is no need
to evaluate B because the result is already known. |
Moeglicherweise wird deswegen nur a(i)<0.8 ueberprueft.
|
|
|
cs |
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 03.06.08
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.06.2008, 13:23
Titel:
|
|
ansonsten einfach
also 'elementwise or' benutzen. Diese Unterscheidung gilt auch für & bzw && usw.
|
|
|
|
|
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 - 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.
|
|