Filter löschen
Filter löschen

if loop error in MALAB

1 Ansicht (letzte 30 Tage)
ali hassan
ali hassan am 2 Feb. 2022
Kommentiert: Steven Lord am 2 Feb. 2022
i am using the following if loop but it is not executing:
n=[]
if n==[]
sprintf('a')
end
it dose not print 'a'
  2 Kommentare
ali hassan
ali hassan am 2 Feb. 2022
Bearbeitet: ali hassan am 2 Feb. 2022
but why it is not working that way?@James Tursa
Steven Lord
Steven Lord am 2 Feb. 2022
From the documentation page: "if expression, statements, end evaluates an expression, and executes a group of statements when the expression is true. An expression is true when its result is nonempty and contains only nonzero elements (logical or real numeric). Otherwise, the expression is false."
Is your expression nonempty and does it contain only nonzero elements?
n = [];
n == []
ans = 0×0 empty logical array
Your expression is empty so the statements inside the if block are not executed.
If you look at the suggestion from James Tursa:
isempty(n)
ans = logical
1
This is nonempty and it contains only nonzero elements. Therefore the if statement's expression is true and so the statements inside the if block are executed.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

James Tursa
James Tursa am 2 Feb. 2022
Change your test to
if isempty(n)

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by