我正在尝试定义一个函数,如下所示:
if nn == 0
tau(nn) = 0
else
tau(nn) = crazy_function(nn)
end
但是,我想在一行中完成。我试过了
tau = @(nn) crazy_function(nn).*(nn~=0) + 0.*(nn==0);
但这不起作用,因为crazy_function(0)
不是数字(NaN)
。所以MATLAB在表达式的第一部分遇到了麻烦。当我通过对此行的某些修改调用0
时,如何让MATLAB返回tau(0)
?谢谢!