Matlab中的函数实现

etf*_*etf 2 matlab function

我需要在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的每个值评估函数,并将评估结果放在数组中.提前致谢

tra*_*ion 7

您可以在一行代码中执行此操作:

n>=0
Run Code Online (Sandbox Code Playgroud)

如果n的对应元素严格大于零,则上述语句将产生一个逻辑数组,其元素等于1.如果需要函数句柄,请使用匿名函数:

u = @(n) n>=0
Run Code Online (Sandbox Code Playgroud)