l = \[Pi];
a1 = 1;
f[x_] := Which[-l \[LessSlantEqual] x < 0, -a1, 0 <= x < l, a1];
f[x_] := f[x - 2*l] /; x >= l;
f[x_] := f[x + 2*l] /; x <= -l;
c[n_] := 1/l*\!\(
\*SubsuperscriptBox[\(\[Integral]\), \(-
\*FractionBox[\(l\), \(2\)]\),
FractionBox[\(l\), \(2\)]]\(f[x]*Exp[\(-I\)*
\*FractionBox[\(n*\[Pi]*x\), \(l\)]] \[DifferentialD]x\)\) // Evaluate
k = 2;
ff[x_] := \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(n = \(-k\)\), \(k\)]\((c[n]*Exp[I*
\*FractionBox[\(n*\[Pi]*x\), \(l\)]])\)\) // Evaluate
![](http://imgsrc.baidu.com/forum/w%3D580/sign=bdae1825ce5c1038247ececa8210931c/fc2965d0f703918ff41225f5593d269758eec4d8.jpg)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=2c50716f3ca85edffa8cfe2b795409d8/558e62380cd7912307bc8c4ba5345982b2b780bb.jpg)
问题描述,在进行傅里叶变换的时候c[0]是等于0的,但是mathmatica默认先展开c[n],再计算c[0],这导致c[0]的分母为0,出现错误,请问有什么解决方案吗?可以让c[n]先计算里面的指数,再进行积分,而不是先积分,再计算,谢谢
a1 = 1;
f[x_] := Which[-l \[LessSlantEqual] x < 0, -a1, 0 <= x < l, a1];
f[x_] := f[x - 2*l] /; x >= l;
f[x_] := f[x + 2*l] /; x <= -l;
c[n_] := 1/l*\!\(
\*SubsuperscriptBox[\(\[Integral]\), \(-
\*FractionBox[\(l\), \(2\)]\),
FractionBox[\(l\), \(2\)]]\(f[x]*Exp[\(-I\)*
\*FractionBox[\(n*\[Pi]*x\), \(l\)]] \[DifferentialD]x\)\) // Evaluate
k = 2;
ff[x_] := \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(n = \(-k\)\), \(k\)]\((c[n]*Exp[I*
\*FractionBox[\(n*\[Pi]*x\), \(l\)]])\)\) // Evaluate
![](http://imgsrc.baidu.com/forum/w%3D580/sign=bdae1825ce5c1038247ececa8210931c/fc2965d0f703918ff41225f5593d269758eec4d8.jpg)
![](http://imgsrc.baidu.com/forum/w%3D580/sign=2c50716f3ca85edffa8cfe2b795409d8/558e62380cd7912307bc8c4ba5345982b2b780bb.jpg)
问题描述,在进行傅里叶变换的时候c[0]是等于0的,但是mathmatica默认先展开c[n],再计算c[0],这导致c[0]的分母为0,出现错误,请问有什么解决方案吗?可以让c[n]先计算里面的指数,再进行积分,而不是先积分,再计算,谢谢