繁体   English   中英

Matlab中的函数实现

[英]Function realization in Matlab

我需要在Matlab中编写单位步进函数: 在此输入图像描述

以下是我试图实现的方法:

function y = u(n)
    if n<0
        y=0;
    else y=1;
end

我测试了它的不同参数值,它返回正确的值,但如果我定义数字数组n = [ - 2,-1,0,1,2]并调用test = u(n)它只返回值1。我应该怎么做才能使它返回数组,我的意思是应该为n的每个值评估函数,并将评估结果放在数组中。 提前致谢

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

n>=0

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

u = @(n) n>=0

这是我解决它的方式:

     function y = u(n)
     matrix_dimensions=size(n);
     length_of_vector=matrix_dimensions(2);
     position=0;
     for index=1:length_of_vector
     position=position+1;
     if n(1,index)<0
     y(position)=0;
     else y(position)=1;
     end
     end
     end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM