【问题标题】:MATLAB while loop within else statementMATLAB while循环在else语句中
【发布时间】:2015-11-06 10:21:49
【问题描述】:

我正在尝试运行一些类似于下面的代码...我认为我对 for 循环有一个基本的误解。我想遍历一个 for 循环,如果每次迭代的条件都满足(X==True)我想完成那个迭代,如果它不满足/否则我想看看它是否满足第二个条件(Z ==True)...如果确实如此,我想继续做 thing2 并将其计数为迭代 while 条件为真,一旦它不再为真,我希望它运行另一个 for 循环做 thing3 5 次,然后返回原来的 if 语句进行下一次迭代。 如果不满足第二个条件(Z==True),我希望它执行相同的 5 次迭代 thing3 for 循环。 希望这是有道理的...谢谢

for i=100:-1:1
    if X==True
        i=i-1;
        do thing1;
    else
        while Z==True
            i=i-1;
            do thing2;
        end
        for n=1:1:5
            i=i-1;
            do thing3;
        end
    end 
end

【问题讨论】:

  • 有什么问题?
  • 对不起,应该指定:thing1、thing2 和 thing 3 都添加到一个向量中......所以我假设我的向量最终长度为 100,而不是我最终得到一个更大的向量
  • 好吧,你用这个循环得到更长的向量。 每次 Xfalsewhile 在您的else 语句中将向向量添加未指定数量的项目,并且内部for 至少五个,所以如果Xfalse至少一次,你已经有不少于104件了。

标签: loops if-statement for-loop while-loop


【解决方案1】:

while Z=True 是一个无限循环。检查一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-08
    • 2015-04-07
    • 2012-06-18
    • 2014-07-01
    • 2023-03-30
    • 1970-01-01
    • 2016-05-27
    • 2016-10-22
    相关资源
    最近更新 更多