在Matlab中确定输入是真实的

时间:2018-09-11 01:31:47

标签: matlab validation

这是一个简单的问题,但我现在正在学习MATLAB。我正在尝试编写一个确定用户输入是否真实的函数。我正在使用isnumericisscalar,并打算使用imag(x) ==0来确保它没有虚部,但是我得到一个负数错误。任何建议都很棒!

function y = isR(x)
  if isnumeric(x) && isscalar(x) && imag(x)==0
    disp('true')
  else
    disp('false')
  end
end

错误MATLAB:unassignedOutputs

1 个答案:

答案 0 :(得分:1)

您写道您正在得到:

Error MATLAB:unassignedOutputs

因此MatLab抱怨输出未分配。嗯,让我们看一下您的函数声明:

function y = isR(x)

在此,isR是函数名称,x是函数输入参数,y是函数输出参数。 Matlab抱怨未分配的输出,因此我们应该集中精力研究y会发生什么。事实证明,您从未为y赋值!因此,该函数不知道在调用时应返回什么。因此,在显示truefalse之后,您应该尝试将该值分配给变量y,例如y = true