这是一个简单的问题,但我现在正在学习MATLAB。我正在尝试编写一个确定用户输入是否真实的函数。我正在使用isnumeric
和isscalar
,并打算使用imag(x) ==0
来确保它没有虚部,但是我得到一个负数错误。任何建议都很棒!
function y = isR(x)
if isnumeric(x) && isscalar(x) && imag(x)==0
disp('true')
else
disp('false')
end
end
错误MATLAB:unassignedOutputs
答案 0 :(得分:1)
您写道您正在得到:
Error MATLAB:unassignedOutputs
因此MatLab抱怨输出未分配。嗯,让我们看一下您的函数声明:
function y = isR(x)
在此,isR
是函数名称,x
是函数输入参数,y
是函数输出参数。 Matlab抱怨未分配的输出,因此我们应该集中精力研究y
会发生什么。事实证明,您从未为y
赋值!因此,该函数不知道在调用时应返回什么。因此,在显示true
或false
之后,您应该尝试将该值分配给变量y
,例如y = true
。