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

while-Schleife

 

YOmaYO
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2008, 12:20     Titel: while-Schleife
  Antworten mit Zitat      
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!!!
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 11.06.2008, 12:52     Titel:
  Antworten mit Zitat      
Weil vielleicht Matlab so schlau ist
und weiß dass wenn eine Zahl kleiner 0.8 ist sie wohl automatisch kleiner 0.9
Laughing



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
Private Nachricht senden Benutzer-Profile anzeigen
 
keloid
Forum-Century

Forum-Century


Beiträge: 216
Anmeldedatum: 04.10.07
Wohnort: ---
Version: 7.5.0.342 (R2007b)
     Beitrag Verfasst am: 11.06.2008, 12:59     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
cs
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 03.06.08
Wohnort: NRW
Version: ---
     Beitrag Verfasst am: 11.06.2008, 13:23     Titel:
  Antworten mit Zitat      
ansonsten einfach
Code:
also 'elementwise or' benutzen. Diese Unterscheidung gilt auch für & bzw && usw.
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.