[英]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.