我正在寻找并捕捉并处理Matlab中的“unassignedOuputs”错误。更具体地讲,在看下面的代码:在Matlab中防止“MATLAB:unassignedOutputs”
try
[out1,out2]= somefunction(in1,in2);
catch err
if strcmp(err.identifier,'MATLAB:unassignedOutputs')
<some code>
else
rethrow(err);
end
end
如果“somefunction”不分配OUT2,并抓住所产生的误差,是否有可能以某种方式获取输出从功能上休息(在这种情况下OUT1 )?如果没有,有没有办法重新调用函数忽略该值,所以函数不会抛出错误?
你想做什么?通常使用nargout解决这些问题。 – Daniel 2015-01-26 23:10:52
我试图从本质上检查我调用的函数(上面例子中的“somefunction”)是否定义了它需要的所有输出。如果没有,我想继续运行该功能,收集所有其他输出,并确定哪些输出未正确分配。 – user3312395 2015-01-27 03:27:00
然后用nargout得到输出的数量 – Daniel 2015-01-27 10:38:29