Output argument ‘y’ is not assigned on some execution paths.
出错原因:逻辑判断的过程中未能穷尽输出的所有可能性,存在未定义的输出
解决方法:
1.对输出进行初始化,即使不能穷尽可能性也不会报错
2.修改代码逻辑,使输出能够穷尽所有条件。
示例:
出错代码:
function y=fal(e,a,delta)
if (abs(e)>delta)
y=abs(e)^a*sign(e);
elseif (abs(e)<=delta)
y=e/delta^(1-a);
end
end
修改后:
function y=fal(e,a,delta)
%设置初始条件y=0
y=0;
if (abs(e)>delta)
y=abs(e)^a*sign(e);
elseif (abs(e)<=delta)
y=e/delta^(1-a);
end
end