函数中继续函数的替代方法(matlab)

Alternative for continue function in a function (matlab)

我们不能在matlab的函数中使用continue函数。例如,不允许以下内容:

for ii = 1:5  
    function1(ii)  
end  

function function1(in)  
   if ii, continue; else, disp('hi'); end  
end

是否有我应该使用的替代结构?我应该总是将 for 循环放在函数中吗?有没有理由不在函数内放置 for 循环?


@Peng Chen 回答了我大部分的回答。然而,我想补充一点,针对 MATLAB 特定问题的简单解决方案是在子函数中使用 'return' 而不是 'continue'。

  1. 是的。例如:

    for ii = 1:5
        out=function1(ii);
        if out,continue;end
    end  
    
    function out=function1(in)
        if in,out=1;else,out=0;disp('hi');end
    end
    

    让function1处理ii。使用function1的return值来处理for循环。

  2. 没有
  3. 当你需要在for循环中使用A(function1之外的变量,可能是全局变量)时,你应该将A传递给function1。传递参数或特定声明很麻烦。
  4. 调用function1时,MATLAB退出主程序,进入function1。所以"continue"不能跳过for循环。对了,function1里面没有ii,只有.

抱歉我的英语不好。