如何跳过for循环的迭代并在Matlab中进行其他迭代?

时间:2017-07-19 07:03:54

标签: matlab for-loop

我有一个程序,所有函数都在for循环中。我想跳过一些变量,以便在条件成立时不做任何事情。例如:

 for i=1:a

      for j=1:b
       if counter=101
       %until i<21 do nothing then if i=21 continue the loop and do what I want   
       % until i=23, after that again i goes forward but don't do any thing 
       %until i=44 again do the progress and continue the loop.
       end


       %do what I want 

      end

    end

但我无法得到正确的答案。 我把它写成下来:

if counter==101
             j=1;
            while (i < a/3+1)
                i=i+1;
                continue
            end
        end
        if counter==201
             j=1;
             while (i < 2*a/3+1)
                 i=i+1;
                 continue
            end
        end

在这段代码中,在i = 21之后进行迭代,之后在for循环中我转到21之前的数字(例如3),但我不想要它。 如果有人有建议,我们将不胜感激。

1 个答案:

答案 0 :(得分:3)

这种情况应该是你想要的:

$to = 'myemailaddress';
$subject = 'Registration Confirmation'; 
$message  = "Hello User";
$message .= "Your Booking is confirmed \r\n\r\n";
$message .= "Your Number".$memvalue.",\r\n\r\n";
$message .= "Thanks!"."\r\n";
$headers = "From: Company Name <info@example.com>"."\r\n";                      
$mail = wp_mail( $to, $subject, $message, $headers );

您的代码中至少存在错误:for i=1:a for j=1:b if i < 21 || (i >= 23 && i < 44) % Skip loop before 21 and between 23 and 43 continue end if counter == 101 % Do stuff end end end 不是有效的比较,您将值101分配给计数器。你应该使用if counter=101 另外,我根本不了解你的第二段代码。至少,在为其分配值之前使用if counter==101并且可能缺少外部循环。

编辑: 话虽这么说,您可能只想调整循环变量:

i