函数中继续函数的替代方法(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'。
是的。例如:
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循环。
- 没有
- 当你需要在for循环中使用A(function1之外的变量,可能是全局变量)时,你应该将A传递给function1。传递参数或特定声明很麻烦。
- 调用function1时,MATLAB退出主程序,进入function1。所以"continue"不能跳过for循环。对了,function1里面没有ii,只有.
抱歉我的英语不好。
我们不能在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'。
是的。例如:
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循环。
- 没有
- 当你需要在for循环中使用A(function1之外的变量,可能是全局变量)时,你应该将A传递给function1。传递参数或特定声明很麻烦。
- 调用function1时,MATLAB退出主程序,进入function1。所以"continue"不能跳过for循环。对了,function1里面没有ii,只有.
抱歉我的英语不好。