让我们考虑下面的脉冲函数代码
function y=impulse_function(n);
y=0;
if n==0
y=1;
end
end
此代码
>> n=-2:2;
>> i=1:length(n);
>> f(i)=impulse_function(n(i));
>>
返回结果
f
f =
0 0 0 0 0
而这段代码
>> n=-2:2;
>> for i=1:length(n);
f(i)=impulse_function(n(i));
end
>> f
f =
0 0 1 0 0
在两种情况下我都是1 2 3 4 5,有什么不同?
您的函数未定义为处理矢量输入。
修改您的实现函数,如下所示:
function y=impulse_function(n)
[a b]=size(n);
y=zeros(a,b);
y(n==0)=1;
end
在您定义impulse_function时,会将整个数组与零进行比较,并且返回值仅是一个数字而不是向量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句