Matlab中的循环

         如果学过C,Java等编程语言就非常容易理解。

1.for循环

        和Python很类似,只是对于遍历元素的方式改了。

        for i = 初始值: 增值:终止数

               执行语句

        end

        上述中,首先根据i被赋予在等号右边的初始值,当i<=终止数时,就继续执行执行语句里面的代码,每执行一次 i 就会变成 i= i + 增值 ,i = 终止数也会被执行(i包含了终止值)。 增值就是i每次循环之后在原有的i的基础上在加上该数值。

        每执行完所有执行语句之后,n会根据增值自动递增

        当增值 = 1时,可以省略,也就是当增值=1时是默认值 ,就可以变成:  i = 初始值:终止值  ,也就是每次循环就像Java中的 i ++ 。对于Java中for循环的终止条件是可以使用像if语句一样的条件表达式(>,<,==等)的,而Matlab不行,取而代之的就是i = 初始值: 增值:终止数

        for 循环是可以嵌套的。最后,但for语句写完后一定要加上end ! 

        下面举一个求1-10阶乘之和的例子 ,并且输出每次循环最外围的i的值:

        

sum = 0;
for i = 1:10
    temp = 1;
    for j = 1:i
        temp = temp*j;
    end
    sum = sum+temp;
    fprintf('i = %d \n',i);
end
disp(sum);

        i 输出的是1-10 . 

        

2.while循环

        当学完了上述的for循环,有没有发现for循环一个弊端,for循环必须要有终止值,而且i每次循环值的改变都是固定的。那么while则就可以通过条件表达式(>,<,==等) 。

        

        while 条件表达式

                当条件表达式符合则执行 

        end 

        

        我们通过while循环的话,就不要太多余纠结具体的结束值,并且也可以更灵活的改变循环终止的条件。

        我们使用while循环来替代上述用for循环求1-10的阶乘之和的例子。


n = 1;
sum =0;
while n<=10
    temp = 1;
    j = 1;
    while j<=n
        temp =temp*j;
        j = j+1;
    end
    fprintf('n = %d \n',n);
    sum = sum+ temp;
    n = n+1;
end
disp(sum);

        我们可以发现 i,j的初始化变成到了while循环前,i和j每次循环的增量放在了循环执行语句中,并且判断条件结束变成了条件表达式。

        打印出来的结果是一样的。

        

        

        此外,在for循环执行语句中,Matlab也可以使用bresk语句来跳出循环,continue来继续循环(执行该语句之后,不再执行后续的执行语句,继续n自增)

        我们来测试一下。

1.continue继续循环:


for n = 1:10
     if(n==4)
           continue;
     
     end
     fprintf('n = %d\n',n);
end

        运行结果:

        没有输出4

2. break终止循环:


for n = 1:10
     if(n==4)
           break;
     
     end
     fprintf('n = %d\n',n);
end

运行结果:

        输出完1到3就结束循环了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tanxinji

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值