Ich habe gerade die Aussage any('')
eine logische 0 zurückgibt, während die Anweisung all('')
eine logische 1 zurückgibt.Warum irgendein ('') logisches 0 zurückgibt, während alles ('') logisches 1 zurückgibt?
Wenn die Funktion any
nicht glaube, die leere Zeichenfolge (‚‘) als ungleich Null, die Funktion all
soll das gleiche tun, aber aus dem Ergebnis die Funktion all
scheint die leere Zeichenfolge zu denken (‚‘) als ungleich Null.
BTW, die Ähnliches passiert, wo any(NaN)
kehrt logische 0, während all(NaN)
kehrt logische 1.
Ist es ein Fehler MATLAB?
Hier ist die Versionsinformation der MATLAB, die ich verwende.
MATLAB Version: 9.1.0.441655 (R2016b)
MATLAB-Lizenznummer: DEMO
Vielleicht fügen Sie es in die Liste http://StackOverflow.com/Questions/1710299/corner-cases-unexpected-and-unusual-matlab?rq=1 – Thilo
Es ist kein Fehler. any (X) bedeutet, dass Sie ein Element von X finden können, das wahr ist; Für keine Elemente können Sie nicht. all (X) bedeutet, dass Sie kein Element von X finden können, das falsch ist; Für keine Elemente können Sie nicht. Vergleichen Sie ∀, ∃ und https: // stackoverflow.com/questions/2195289/why-does-iqueryable-all-return-true-auf-einer-leeren-sammlung, https://stackoverflow.com/questions/30223079/why-does-stream-allmatch-return-true- for-a-empty-stream, https://stackoverflow.com/questions/19601802/how-does-all-in-python-work-on-empty-lists, https://stackoverflow.com/questions/16662727/ why-does-all-return-true-auf-einem-leeren-Array. – Ryan