在Octave / Matlab中进行FFT,绘制cos(x)和近似值

时间:2017-01-31 19:58:05

标签: matlab fft octave interpolation

我必须在Octave的练习cos(x)中进行绘图并通过

进行插值

enter image description here

我用

绘制了cos(x)
fplot("[cos(x)]", [0, 2*pi])

n是[0, 2*pi]上我用

计算的等距支撑点
x = zeros(n,1);
for i=1:n
    x(i,1)= (-1) + (i-1/2)*(2/n);
end

如何绘制该术语的近似值?

1 个答案:

答案 0 :(得分:0)

我也很困惑实际上是什么问题。我想你想绘制那个公式。

有一个行向量k = 0:(n/2 - 1)(假设n偶数)。

然后您需要将d系数作为相同长度的行向量。 (我不知道你从哪里得到它们)

然后定义向量x(列向量由行向量通过转置生成,例如x = x.'

该函数的左项是

leftterm = sum(d .* exp(i * x * k), 2)

正确的术语:

rightterm = sum( fliplr(d) .* exp(- i * x * (k.+1)), 2)

他们一共给出了:

f = sum(d .* exp(i * x * k) + fliplr(d) .* exp(- i * x * (k .+ 1)), 2)

你用它绘图:

plot(x,f)