登录论坛

查看完整版本 : 这个三角函数积分结果为复数,为什么?


xwcheng
2009-08-11, 09:02
fs[x_]=Integrate[Sin[t]/((Cos[t]+0.015*Cos[t]/1.2-(Cos[t])^2))^5,{t,0,x}]

liu16
2009-08-25, 08:37
In[27]:= fs[x]

Out[27]= -1. If[
Cos[x] \[NotElement] Reals ||
0 <= Re[Cos[x]] <=
1.0125, (-1.04621*10^7 +
196.649 I) + (30773.6 - 28700. Cos[3. x] + 15166.2 Cos[4. x] -
6279.32 Cos[5. x] + 1796.76 Cos[6. x] - 253.512 Cos[7. x] +
41498.6 Log[Cos[x]] - 42086.1 Cos[3. x] Log[Cos[x]] +
24091.4 Cos[4. x] Log[Cos[x]] - 11256.5 Cos[5. x] Log[Cos[x]] +
4081.69 Cos[6. x] Log[Cos[x]] - 1014.05 Cos[7. x] Log[Cos[x]] +
125.191 Cos[8. x] Log[Cos[x]] +
Cos[2. x] (44206.2 + 61633.6 Log[Cos[x]] -
61633.6 Log[-1.0125 + 1. Cos[x]]) -
41498.6 Log[-1.0125 + 1. Cos[x]] +
42086.1 Cos[3. x] Log[-1.0125 + 1. Cos[x]] -
24091.4 Cos[4. x] Log[-1.0125 + 1. Cos[x]] +
11256.5 Cos[5. x] Log[-1.0125 + 1. Cos[x]] -
4081.69 Cos[6. x] Log[-1.0125 + 1. Cos[x]] +
1014.05 Cos[7. x] Log[-1.0125 + 1. Cos[x]] -
125.191 Cos[8. x] Log[-1.0125 + 1. Cos[x]] + (0. + 0. I) Sin[
x] + (0. + 0. I) Log[Cos[x]] Sin[
x] + (0. + 0. I) Log[-1.0125 + 1. Cos[x]] Sin[x] +
Cos[
x] (-56644.5 - 77073.9 Log[Cos[x]] +
77073.9 Log[-1.0125 +
1. Cos[x]] + ((0. + 0. I) + (0. + 7.11628*10^-12 I) Log[
Cos[x]]) Sin[x]) + (0. + 0. I) Log[-1.0125 +
1. Cos[x]] Sin[2. x] + (0. + 0. I) Sin[
3. x] + (0. + 0. I) Log[Cos[x]] Sin[
3. x] + (0. + 0. I) Log[-1.0125 + 1. Cos[x]] Sin[
3. x] + (0. + 0. I) Sin[4. x] + (0. + 0. I) Log[Cos[x]] Sin[
4. x] + (0. + 0. I) Log[-1.0125 + 1. Cos[x]] Sin[
4. x] + (0. + 0. I) Sin[5. x] + (0. + 0. I) Log[Cos[x]] Sin[
5. x] + (0. + 0. I) Log[-1.0125 + 1. Cos[x]] Sin[
5. x] + (0. + 0. I) Sin[6. x] + (0. + 0. I) Log[Cos[x]] Sin[
6. x] + (0. + 0. I) Log[-1.0125 + 1. Cos[x]] Sin[
6. x] + (0. + 0. I) Sin[7. x] + (0. + 0. I) Log[Cos[x]] Sin[
7. x] + (0. + 0. I) Log[-1.0125 + 1. Cos[x]] Sin[
7. x] + (0. + 0. I) Log[Cos[x]] Sin[
8. x] + (0. + 0. I) Log[-1.0125 + 1. Cos[x]] Sin[
8. x])/(662.966 + 984.634 Cos[2. x] - 672.351 Cos[3. x] +
384.875 Cos[4. x] - 179.83 Cos[5. x] + 65.2075 Cos[6. x] -
16.2 Cos[7. x] + 2. Cos[8. x] +
Cos[x] (-1231.3 + (0. + 1.13687*10^-13 I) Sin[x]) + (0. +
0. I) Sin[x] + (0. + 0. I) Sin[3. x] + (0. + 0. I) Sin[
4. x] + (0. + 0. I) Sin[5. x] + (0. + 0. I) Sin[
6. x] + (0. + 0. I) Sin[7. x] + (0. + 0. I) Sin[8. x]),
Integrate[1/((1.0125 - 1. u)^5 u^5), {u, 1, Cos[x]},
Assumptions -> ! (Cos[x] \[NotElement] Reals ||
0 <= Re[Cos[x]] <= 1.0125)]]

In[28]:= fs[1]

Out[28]= 1.04621*10^7 + 3.1789*10^-6 I

In[29]:= fs[0]

Out[29]= 0

In[30]:= fs[.5]

Out[30]= 1.04601*10^7 + 3.17872*10^-6 I

liu16
2009-08-25, 09:34
我也觉得有意思.
In[1]:= fs[x_] :=
Integrate[
Sin[t]/((Cos[t] + 0.015*Cos[t]/1.2 - (Cos[t])^2))^5, {t, 0, x}]

In[2]:= {Cos[t] -> u, -Sin[t] DifferentialD[t] -> DifferentialD[u]}
integrand = -1/(u + .015 u/1.2 - u^2)^5

Out[2]= {Cos[t] -> u, -DifferentialD[t] Sin[t] -> DifferentialD[u]}

Out[3]= -(1/(1.0125 u - u^2)^5)

In[4]:= fs[x_] := Integrate[integrand, {u, 1, Cos[x]}]

In[5]:= Apart[integrand]

Out[5]= 0.939777/(-1.0125 + u)^5 - 4.64087/(-1.0125 +
u)^4 + 13.7507/(-1.0125 + u)^3 - 31.6889/(-1.0125 +
u)^2 + 62.5954/(-1.0125 +
u) - 0.939777/u^5 - 4.64087/u^4 - 13.7507/u^3 - 31.6889/u^2 - \
62.5954/u

In[6]:= {Integrate[%[[1]], {u, 1, Cos[x]}],
Integrate[%[[2]], {u, 1, Cos[x]}], Integrate[%[[3]], {u, 1, Cos[x]}],
Integrate[%[[4]], {u, 1, Cos[x]}],
Integrate[%[[5]], {u, 1, Cos[x]}], Integrate[%[[6]], {u, 1, Cos[x]}],
Integrate[%[[7]], {u, 1, Cos[x]}],
Integrate[%[[8]], {u, 1, Cos[x]}], Integrate[%[[9]], {u, 1, Cos[x]}],
Integrate[%[[10]], {u, 1, Cos[x]}]}

Out[6]= {0.939777 If[
Re[Cos[x]] <= 1.0125 || Cos[x] \[NotElement] Reals,
1.024*10^7 - 0.25/(-1.0125 + Cos[x])^4,
Integrate[1/(-1.0125 + u)^5, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] <= 1.0125 ||
Cos[x] \[NotElement] Reals)]], -4.64087 If[
Re[Cos[x]] <= 1.0125 || Cos[x] \[NotElement] Reals, -170667. -
0.333333/(-1.0125 + Cos[x])^3,
Integrate[1/(-1.0125 + u)^4, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] <= 1.0125 ||
Cos[x] \[NotElement] Reals)]],
13.7507 If[Re[Cos[x]] <= 1.0125 || Cos[x] \[NotElement] Reals,
3200. - 0.5/(-1.0125 + Cos[x])^2,
Integrate[1/(-1.0125 + u)^3, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] <= 1.0125 ||
Cos[x] \[NotElement] Reals)]], -31.6889 If[
Re[Cos[x]] <= 1.0125 || Cos[x] \[NotElement] Reals, -80. -
1./(-1.0125 + Cos[x]),
Integrate[1/(-1.0125 + u)^2, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] <= 1.0125 ||
Cos[x] \[NotElement] Reals)]],
62.5954 If[
Re[Cos[x]] <= 1.0125 ||
Cos[x] \[NotElement] Reals, (4.38203 - 3.14159 I) +
Log[-1.0125 + Cos[x]],
Integrate[1/(-1.0125 + u), {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] <= 1.0125 ||
Cos[x] \[NotElement] Reals)]], -0.939777 If[
Re[Cos[x]] >= 0 || Cos[x] \[NotElement] Reals, 1/4 - Sec[x]^4/4,
Integrate[1/u^5, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] >= 0 ||
Cos[x] \[NotElement] Reals)]], -4.64087 If[
Re[Cos[x]] >= 0 || Cos[x] \[NotElement] Reals, 1/3 - Sec[x]^3/3,
Integrate[1/u^4, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] >= 0 ||
Cos[x] \[NotElement] Reals)]], -13.7507 If[
Re[Cos[x]] >= 0 || Cos[x] \[NotElement] Reals, -(1/2) Tan[x]^2,
Integrate[1/u^3, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] >= 0 ||
Cos[x] \[NotElement] Reals)]], -31.6889 If[
Re[Cos[x]] >= 0 || Cos[x] \[NotElement] Reals, 1 - Sec[x],
Integrate[1/u^2, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] >= 0 ||
Cos[x] \[NotElement] Reals)]], -62.5954 If[
Re[Cos[x]] >= 0 || Cos[x] \[NotElement] Reals, Log[Cos[x]],
Integrate[1/u, {u, 1, Cos[x]},
Assumptions -> ! (Re[Cos[x]] >= 0 || Cos[x] \[NotElement] Reals)]]}

In[7]:= % /. x -> 1

Out[7]= {9.62331*10^6, 792028., 43971.5, 2468.01,
227.326 + 0. I, 2.52193, 8.26076, 16.6763, 26.9615, 38.5354}

In[8]:= Apply[Plus, %]

Out[8]= 1.04621*10^7 + 0. I

In[9]:= %%% /. x -> 0

Out[9]= {0., 0., 0., 0., 0. + 0. I, 0, 0, 0, 0, 0}

In[10]:= %%%% /. x -> .5

Out[10]= {9.62261*10^6, 791413., 43624.7, 2300.24,
148.91 + 0. I, 0.161163, 0.741877, 2.05193, 4.42042, 8.17398}

In[11]:= Apply[Plus, %]

Out[11]= 1.04601*10^7 + 0. I
这样,在虚数符号前的系数就是0.了,是不是计算精度的问题?