【问题标题】:For-Loop Definition in MatlabMatlab 中的 For 循环定义
【发布时间】:2020-09-01 06:20:08
【问题描述】:

我是 Matlab 的新手。谁能帮我解释一下原因:

如果 for 循环以 for i = 1:0 开头,则主体只能执行一次。

谢谢。

【问题讨论】:

  • 它定义了一个序列'StartNumber:EndNUmber',步长为1。比较完整的定义是StartNumber:stepSize:EndNumber。从 1 到 0 不会创建序列,而只会创建起始值。如果您想倒退,请使用1:-1:0。看看docs,它们在 MATLAB 中非常出色。如果您确实遇到编码问题,最好在 stackoverflow 上提问,而不是寻找基础课程
  • 我们无法解释为什么引用的陈述是真的,因为它不是真的。 1:0 为空,因此主体将执行

标签: matlab for-loop


【解决方案1】:

如果您在 MATLAB 中的 for 循环中未提及步长增量/减量,默认情况下它将始终将其视为增量 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

for i=1:-1:0
disp(i)
end 

它将打印1 0

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 或者直接写i = [1,0]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2015-04-15
    • 2018-04-21
    • 2014-05-19
    相关资源
    最近更新 更多