比较R语言、perl语言,matlab中for循环和while循环的使用


作者:redcat
生物统计家园网
对于海量数据的处理时代,各种语言如数据处理的,统计计算的都应该掌握一下,各取所长,达到高效的目的。
对于R语言、perl语言,matlab中的for循环也是各有不同。
(一)R语言
R
语言和matlab中以对象处理为主,体现出强大的智能性,因此对于语言的循环设计中以操作对象为主,
例如:
for(i in 1:20){
cat(i);
cat(" ");
i=i+3;
}

运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

点评:我们可以看出,循环中处理的对象是1:2020个数,对每个数进行操作不管循环内部i如何变化。因此,循环体内的i=i+3就不会对循环条件中的变量造成改变,具体执行过程相当于:
i=1 -> i=i+3
,此时i=4-> 第一次循环结束,第二次循环开始,i=2
尤其注意,i变成4又变成2,所以打印出来的结果是,1,2,3,4....20的连续值。

如果想要随意的改变条件中的变量,请使用while循环
i=1
while(i<=20){
cat(i);
cat(" ");
i=i+3
}

运行结果:
1 4 7 10 13 16 19

(二)Matlab
matlab
R语言类似,以对象处理为主,体现出强大的智能性,因此对于语言的循环设计中以操作对象为主,
例如:
for i=1:20
i
i=i+3;
end

运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

点评:我们可以看出,循环中处理的对象是1:2020个数,对每个数进行操作不管循环内部i如何变化。因此,循环体内的i=i+3就不会对循环条件中的变量造成改变,具体执行过程相当于:
i=1 -> i=i+3
,此时i=4-> 第一次循环结束,第二次循环开始,i=2
尤其注意,i变成4又变成2,所以打印出来的结果是,1,2,3,4....20的连续值。

如果想要随意的改变条件中的变量,请使用while循环
i=1;
while i<=20
i
i=i+3;
end

运行结果:
1 4 7 10 13 16 19

(三)perl语言
perl
语言和上面两种语言有所不同,对于循环条件中的变量和循环体中的变量是统一的,循环体中的变量变化会导致循环条件中的变量改变,
例如:
my $i;
for($i=1;$i<=20;$i++){
print"$i ";
$i=$i+3;
}
运行结果:
1 5 9 13 17
点评:运行过程相当于i=1->i=i+3,此时i=4; -> i++,此时i=5,然后开始第二次循环,因此打印的结果为1 5 9 13 17

再例如
my $i;
for($i=1;$i<=20;$i){
print"$i ";
$i=$i+3;
}
运行结果:
1 4 7 10 13 16 19
点评:运行过程相当于i=1->i=i+3,此时i=4; -> i变量不操作,此时i=4,然后开始第二次循环,因此打印的结果为1 4 7 10 13 16 19

可以比较一下上面两个例子,仔细体会,
同样也可以用while来实现:
my $i;
$i=1;
while($i<=20){
print"$i ";
$i=$i+3;
}
运行结果:
1 4 7 10 13 16 19

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值