Matlab中的For循环定义
我不熟悉Matlab。谁能为我解释一下原因: 如果for循环以for i=1:0开始,那么主体只能执行一次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 例如,在下面的示例中,它将不打
谢谢。尝试在命令窗口中键入
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