我有一个随机生成的向量,比如A
长M
。
说:
A = rand(M,1)
我还有一个函数,X(k) = sin(2*pi*k)
。
我如何找到Y(k)
,A(l)*X(k-l)
的总和为l
从0变为M
?
假设k的任何值......但答案应该是所有M+1
项的总和。
答案 0 :(得分:2)
鉴于M
和k
,您可以执行总结:
A = rand(M+1,1); %# Create M+1 random values
Y = sin(2*pi*(k-(0:M)))*A; %# Use a matrix multiply to perform the summation
编辑:您甚至可以为Y
创建一个以k
和A
为参数的函数:
Y = @(k,A) sin(2*pi*(k+1-(1:numel(A))))*A; %# An anonymous function
result = Y(k,A); %# Call the function Y
答案 1 :(得分:0)
A = rand(1, M + 1);
X = sin(2 * pi * (k - (0 : M)));
total = sum(A .* X);
答案 2 :(得分:0)
如果你正在尝试进行傅立叶变换,你也应该看一下fft。
答案 3 :(得分:0)
您可能正在寻找向量A和X的卷积:
Y = conv(A, X);