我有一个脉冲形状,它是t的函数,叫它h(t),它的形式是:
h = @(t) function of t
我想创建一个由N个脉冲h(t)组成的脉冲序列。我这样做了:
for n=0:N-1
comb = comb + h(t - n);
end
然而,一旦我这样做了,我就不能在火车上改变了。我怎样才能使这个序列成为t的函数呢?谢谢。
您只需要使comb
也成为一个匿名函数。你可以将它初始化为一些简单的函数(即它总是输出0),然后反复修改它。因为在匿名函数声明之前声明的变量,包括匿名函数,都是"冻结"的;对于那个点的定义,这将工作。
h = @(t) _______ % some function of 't'
comb = @(t) 0;
for n = 0:N-1
comb = @(t) comb(t) + h(t - n);
end
我们可以用h = @(t) sin(t)
和N=3
来测试:
>> comb(pi/2)
ans = 1.1242
>> h(pi/2) + h(pi/2-1) + h(pi/2-2)
ans = 1.1242
注意,仅仅显示comb
可能会有一点误导,因为关于递归定义的信息在一定程度上丢失了
disp(comb)
@(t)comb(t)+h(t-n)