if loop error in MALAB
2 次查看(过去 30 天)
显示 更早的评论
i am using the following if loop but it is not executing:
n=[]
if n==[]
sprintf('a')
end
it dose not print 'a'
2 个评论
Steven Lord
2022-2-2
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 == []
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)
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.
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!