Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
if
keyword for conditional execution
Syntax
if expr1 then statements elseif expri then statements .... else statements end
Arguments
- expr1, expri
logical expressions
- statements
blocks of valid statements.
Description
The if statement evaluates a logical expression and executes a group
of statements when the expression is true.
The expri are expressions with numeric or boolean
values. If expri is a non-scalar value then the condition is true only if
all entries of this value are true or different from zero.
The optional elseif and else provide for the
execution of alternate groups of statements. An end keyword,
which matches the if, terminates the last group of
statements. The line structure of if is not significant, the
only constraint is that each then keyword must be on the same
line as its corresponding if or elseif keyword.
The keyword then can be replaced by a carriage return or a
comma.
According to the Code Conventions for the Scilab Programming Language it is recommended:
Start each statement on a new line.
Write no more than one simple statement per line.
Break compound statements over multiple lines.
For example, use:
rather than
![]() | Tthe number of characters used to define the body of any
conditional instruction (if while for or select/case) must be limited to
16k. |
Examples
i=2 for j = 1:3, if i == j then a(i,j) = 2; elseif abs(i-j) == 1 then a(i,j) = -1; else a(i,j) = 0; end, end
See also
- then — keyword in control flows 'if' and 'select'
- else — keyword in if-then-else and select-case-then-else
- elseif — keyword in if-then-else
- end — end keyword
- while — while keyword
- select — select keyword
- boolean — Scilab Objects, boolean variables and operators & | ~
- comparison — comparison, relational operators
- |, || — Binary OR between integers. Logical OR over/between booleans and numbers
- &, && — Binary AND between integers. Logical AND over/between booleans and numbers
History
| Version | Description |
| 6.0.0 | if is now protected:
Assignments like if=1 are no longer possible. |
| Report an issue | ||
| << halt | Control flow | pause >> |
