Matlab的循环与C/C等常见计算机语言的循环仍然有很大的区别。
请看下面的Matlab代码。
a=[123456];
fori=1:6
ifi==3,
i=i-1;
结束
DISP(a ) I );
结束
结果如下。
1
2
3
4
5
6
将上述Matlab转换为c代码:
#包含
usingnamespacestd;
intmain () )
{
inta [6]={ 1,2,3,4,5,6 };
for(inti=0; i6; I )
{
if(I==3) )。
I----;
出局
}
返回0;
}
因为结果总是打印3,所以陷入死循环。
分析:
Matlab循环不支持修改循环变量。 对循环变量的修改无效,等同于未进行修改。 这是与普通计算机语言的最大区别。 此外,matlab循环包含头尾,但在典型语言中,它不像python那样包含尾部。 forIinrange(5)是0到4,而不是1到5。 Matlab从1开始。