Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB,如何更改循环的内部循环索引_Matlab - Fatal编程技术网

MATLAB,如何更改循环的内部循环索引

MATLAB,如何更改循环的内部循环索引,matlab,Matlab,我有一个这样的循环: b = 1; for c = 1 : 10; if b == 1 c = 1 + 3 end end 我需要做什么才能更改c? 因为当我阅读帮助时,MATLAB会在循环计数器到达end后重置循环计数器c 有没有办法从for循环中更改循环计数器的值?您可以使用while循环而不是for循环 类似于(我猜您希望在c中添加3,否则c=4可以替换下面的那一行) b=1; c=1; 而(c

我有一个这样的循环:

b = 1;
for c = 1 : 10;
  if b == 1
      c = 1 + 3
  end
end
我需要做什么才能更改
c
? 因为当我阅读帮助时,MATLAB会在循环计数器到达
end
后重置循环计数器
c


有没有办法从
for
循环中更改循环计数器的值?

您可以使用while循环而不是for循环

类似于(我猜您希望在c中添加3,否则c=4可以替换下面的那一行)

b=1;
c=1;
而(c<10)
如果b==1
c=c+3
结束
结束

没有真正遵循您试图做的事情,但是您是否希望在循环的每次迭代中将c的值增加3而不是1

您可以通过以下方式实现:

for i = 1:3:10
    // do something
end
这相当于更常见的for循环语法:

for (c = 1; c <= 10; c+=3)
{
    // do something
}

用于(c=1;c你的意思是说,
c=c+3
?如前所述,你似乎希望循环永远不会结束,因为
c
将始终设置为
4
。是的,先生,我的意思是,for循环中的循环将其值更改为4,然后增长,但在该代码中,我认为这只是4次循环,但仍然是10次循环将始终避免修改循环中的循环索引-这可能会导致一些难以发现的错误。下面的任何一个答案都是更好的解决方法。您需要重写该问题。如前所述,您编写了一个无止境的循环。@Pursuit等人-这不是一个无限循环。请参阅。
for (c = 1; c <= 10; c+=3)
{
    // do something
}