matlab for循环嵌套_Matlab 基础入门(3) 流程控制

接着Matlab 基础入门(2), 这次我们介绍流程控制-Flow Control。


  1. 关系运算符

<判断小于
>判断大于
==判断等于
<=判断小于等于
>=判断大于等于
~=判断不等于
isequal判断array等于
  • 应用举例

以‘判断小于’为例:

  • 先在Matlab中定义一个测试向量

>> my_Vector = -2:7my_Vector =    -2    -1     0     1     2     3     4     5     6     7

注:关于向量定义声明,在Matlab基础入门(2)里详细讲过。

Matlab基础入门(2)-变量

良皮儿,公众号:汽车软件开发工程师Matlab 基础入门(2)- 变量
  • 找到 my_Vector 中所有小于0的地址(index)

>> idx = my_Vector < 0idx =  1×10 logical array   1   1   0   0   0   0   0   0   0   0

注:返回值为逻辑1表示该位置上的值满足判断条件(小于0),反之则不满足判断条件并返回0

  • 输出小于0的值

>> my_Vector(idx)ans =    -2    -1
  • 上面两个步骤可以合二为一, 找到测试向量中小于0的值

>> my_Vector(my_Vector<0)ans =    -2    -1
  • 借助find指令找到小于0的值

>> my_Vector(find(my_Vector<0))ans =    -2    -1

2. 循环语句

  • if-else 语句

test = 5;%if commandif test < 2  disp('value is smaller')elseif test >= 5  disp('value is bigger'end

在if-else 语句中, else条件不是必须的,但是end关键字是必须的。每一个if关键字一定要有一个与之对应的end关键字。if-else 是可以嵌套使用的。

  • switch-case 语句

test = 5;%switch commandswitch test  case 2    result = 2;  case {3 4 5}            result = 5;enddisp(result)
  • for 循环

for i= 1:10  disp(i^2)end  
for i = 1:2:10  disp(i^2)end  
my_Vector = -2:7;%把my_Vector向量中小于0的值改写为0for i= 1:length(my_Vector)  if my_Vector(i) <0     my_Vector(i) = 0  endend      

上面这段循环可以简化为:

my_Vector = -2:7;my_Vector(my_Vector<0) = 0
  • while 循环

n = 1;while n < 10    n = n + 1;    m = n^2;    disp(m);           if m < 5       break;    endend       

while语句应避免死循环

Matlab基础入门(3) 完。

e1dab9924580151b36874ab02a6771f9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值