我需要在Matlab中编写单位步进函数:

以下是我试图实现的方法:
function y = u(n)
if n<0
y=0;
else y=1;
end
Run Code Online (Sandbox Code Playgroud)
我测试了它的不同参数值,它返回正确的值,但如果我定义数字数组n = [ - 2,-1,0,1,2]并调用test = u(n)它只返回值1.我应该怎么做才能使它返回数组,我的意思是应该为n的每个值评估函数,并将评估结果放在数组中.提前致谢
您可以在一行代码中执行此操作:
n>=0
Run Code Online (Sandbox Code Playgroud)
如果n的对应元素严格大于零,则上述语句将产生一个逻辑数组,其元素等于1.如果需要函数句柄,请使用匿名函数:
u = @(n) n>=0
Run Code Online (Sandbox Code Playgroud)