太鼓达人iphone7:这是死循环吗?matlab编的

来源:百度文库 编辑:高校问答 时间:2024/05/05 08:36:48
a=[1 2 3 4 5 6 7 8 9];
for i=1:9
c=0;
while a(i)<=7
c=c+1;
end
end
那要是求一个二维矩阵里的呢?如:[1 2 3;4 5 6;7 8 3]里3的个数

是死循环。因为while语句中的循环变量i没有更新。

其实在matlab中,矩阵的运算功能非常强大,而且速度奇快。建议一般不是迫不得已不要使用循环语句,因为它运行循环语句比直接操作矩阵速度慢很多。

这里是一个非常简单的实例,上例中的目的是为了统计向量a中不超过7的个数,下面的程序或许运行的效率更高:

a=[1 2 3 4 5 6 7 8 9];
b=a<=7;
c=sum(b);

这里采用矩阵的关系运算很容易达到目的。

while a(i)<=7
c=c+1;
end
这一部分会死循环