Matlab中的For循环定义

Matlab中的For循环定义,matlab,for-loop,Matlab,For Loop,我不熟悉Matlab。谁能为我解释一下原因: 如果for循环以for i=1:0开始,那么主体只能执行一次 谢谢。尝试在命令窗口中键入1:0。结果将是“1×0空双行向量”,这意味着这是一个空向量。 也许你想要得到的是向量[1,0]。在这种情况下,您应该显式地编写i=1:-1:0,这将产生正确的结果。如果您在MATLAB的循环中没有提到步长增量/减量,默认情况下,它将始终作为增量1。 比如说 for i=1:3 disp(i) end 它将打印i三次,即1 2 3 例如,在下面的示例中,它将不打

我不熟悉Matlab。谁能为我解释一下原因:

如果for循环以for i=1:0开始,那么主体只能执行一次


谢谢。

尝试在命令窗口中键入
1:0
。结果将是“1×0空双行向量”,这意味着这是一个空向量。
也许你想要得到的是向量[1,0]。在这种情况下,您应该显式地编写
i=1:-1:0
,这将产生正确的结果。

如果您在MATLAB的
循环中没有提到步长增量/减量,默认情况下,它将始终作为增量1。
比如说

for i=1:3
disp(i)
end
它将打印
i
三次,即
1 2 3

例如,在下面的示例中,它将不打印任何内容,因为条件已变为false

for i=1:0
disp(i)
end
对于大于1的步骤或负增量(减量),必须明确指出,如下所示

for i=1:2:6
disp(i)
end
它将打印
1 3 5


它将打印
10

它以1的步长定义序列“StartNumber:EndNUmber”。比较完整的定义是
StartNumber:stepSize:EndNumber
。从1到0不创建序列,只创建起始值。如果要向后,请使用
1:-1:0
。看一看它们在MATLAB中的表现。如果你真的有编码问题,最好在stackoverflow上提问,而不是找一个关于基本原理的课程。我们无法解释为什么引用的语句是真的,因为它不是真的
1:0
为空,因此主体将执行零次或只写
i=[1,0]
for i=1:-1:0
disp(i)
end