2

在计算我的函数的傅立叶系数之后,我想绘制系列的第一项。但是,我无法得到正确的结果……</p>

这不是错误系数的问题,因为它正确绘制 https://www.desmos.com/calculator/dh84khkc1o 使用下面的 gnuplot 代码

set terminal pngcairo
set output 'Fourier.png'
set samples 2000;

aa = -pi/2;
bb = pi/2;
repete(x) = (x-(bb-aa)*floor((x-aa)/(bb-aa)));
ff(x) = (-pi/2<x) && (x<0) ? x-cos(x)+1 : ((0<=x) && (x<pi/2)) ? x+cos(x)-1: 0;
fourier(k, x) = ((1-pi/2)*((-1)**k)+1/(4*k**2-1)) * sin(2*k*x) / k;

plot ff(repete(x)), 2/pi*sum [k=1:50] fourier(k,x)

我有不连续性,但“cos”部分变成了一条直线。

在此处输入图像描述

4

1 回答 1

2

因为您调用fourier(k,x) 中的“k”是迭代器[k=1:50] 的索引变量,所以它是一个整数。然而,傅立叶函数期待一个实数。您的情节是通过将情节命令修改为

 plot ff(repete(x)), 2/pi*sum [k=1:50] fourier(real(k),x)
于 2019-02-11T17:36:55.733 回答