主要内容

如果eleesif.别的

如果条件为真,则执行语句

句法

如果表达陈述eleesif.表达陈述别的陈述结尾

描述

例子

如果表达陈述, 结尾评估A.表达,并在表达式为true时执行一组语句。当其结果是非空闲时,表达式是正确的,只包含非零元素(逻辑或实数)。否则,表达式是假的。

eleesif.别的块是可选的。仅当先前的表达式时才执行该语句如果......结束块是假的。一个如果块可以包括多个eleesif.块。

例子

全部收缩

创建1S的矩阵。

nrows = 4;ncols = 6;a = =(nrows,ncols);

循环通过矩阵并分配每个元素是一个新值。分配2在主角线上,-1在相邻的对角线上,和0.其他地方。

为了c = 1:ncols为了r = 1:nrows如果r == c a(r,c)= 2;eleesif.ABS(R-C)== 1a(R,C)= -1;别的a(r,c)= 0;结尾结尾结尾一种
A =4×62 -1 0 0 0 0 0 -1 2 -1 0 0 0 0 -1 2 -1 0 0 0 0 -1 2 -1 0

包含在数组上的关系运算符的表达式,例如A> 0.,只有在结果中的每个元素都是非零的。

测试是否使用使用结果任何功能。

限制= 0.75;a = rand(10,1)
A =10×10.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575 0.9649
如果任何(a>限制)disp(“至少有一个值高于极限。”别的DISP('所有值低于限制。结尾
至少有一个值高于限制。

比较阵列使用是平等的而不是==.操作员测试平等,因为==.导致阵列不同大小的错误。

创建两个数组。

a = =(2,3);B =兰特(3,4,5);

如果尺寸(a)尺寸(b)是相同的,连接阵列;否则,显示警告并返回空数组。

如果isequal(尺寸(a),大小(b))c = [a;B];别的DISP('A和B的大小不一样。')c = [];结尾
A和B的大小不相同。

Strcmp.比较字符向量。使用==.当字符向量是不同的尺寸时,测试平等导致错误。

回复=输入(“你想看看回声吗?(y / n):'');如果StrcMP(回复,'是')Disp(回复)结尾

确定值是否为非零。使用〜=操作员测试不等式。

x = 10;如果x〜= 0 disp('非零值'结尾
非零价值

确定值是否属于指定范围内。

x = 10;minval = 2;maxval = 6;如果(x> = minval)&&(x <= maxval)disp('指定范围内的值。'eleesif.(x> maxval)disp('值超过最大值。'别的DISP('值低于最小值。'结尾
值超过最大值。

更多关于

全部收缩

表达

表达式可以包括关系运算符(例如<或者==.)和逻辑运营商(例如&&||, 或者)。使用逻辑运算符或者创建复合表达式。马铃薯®从左到右评估复合表达,遵守操作员优先级规则。

在条件表达式中如果......结束块,逻辑运算符|表现为短路运营商。这种行为是一样的&&||, 分别。自从&&||条件表达和陈述中一直短路,使用的良好做法&&||代替|在表达式中。例如,

x = 42;如果存在('myfunction.m''文件')&&(myfunction(x)> = pi)disp('表达是真的'结尾

表达式的第一部分评估为FALSE。因此,MATLAB不需要评估表达式的第二部分,这将导致未定义的函数错误。

尖端

  • 您可以嵌套任何数量的如果陈述。每个如果声明需要A.结尾关键词。

  • 避免在后面添加一个空格别的在这内eleesif.关键词(否则if.)。空间创造了一个嵌套的如果要求自己的声明结尾关键词。

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2006A之前介绍