首先可以直接把Integrate换成NIntegrate,这样就能画图了,只不过速度会比较慢。
其次这个积分是可以求出解析表达式的,虽然内置的Integrate不行,但用Rubi可以。Rubi下载地址:http://www.apmaths.uwo.ca/~arich/index.html
积分结果
ContourPlot[
f[x, y, \[Delta]]/\[Delta] + g[x, p1] - 109090300/3090903 - 20/x^5 -
80/x^2 + 100/x - 200 x^2 + 100/3 (1 + 2 x)^2 + 200000000000000000/(
1030301 (-30301 + 1030301 x^3)^(5/3)) + 800000000000/(
1030301 (-30301 + 1030301 x^3)^(2/3)) - 10000000000/(
1030301 (-30301 + 1030301 x^3)^(1/3)) - (
4000000 (-30301 + 1030301 x^3)^(1/3))/3090903 + (
20000 (-30301 + 1030301 x^3)^(2/3))/3090903 + (
1600 ArcTan[1/Sqrt[3] + (2 x)/Sqrt[3]])/(3 Sqrt[3]) - (
1600 x^3 ArcTan[1/Sqrt[3] + (2 x)/Sqrt[3]])/(3 Sqrt[3]) - (
1600 ArcTan[(50 + (-30301 + 1030301 x^3)^(1/3))/(50 Sqrt[3])])/(
3 Sqrt[3]) + (
1600 x^3 ArcTan[(50 + (-30301 + 1030301 x^3)^(1/3))/(50 Sqrt[3])])/(
3 Sqrt[3]), {x, 1, 1.2}, {y, -0.5, 0.5}]
和数值积分画出来的图是一样的,速度快多了
附Rubi中的代码
W[x_] := x^(-4) + 2 x^2 - 3 + (x^(-4) - 1)^2
f[x_, y_, z_] :=
1/2 ((1/((1 + z)^3*x^3) - x^(-3) + 1)^(-1/3) - 1)*x^3*y^2
g[x_, t_] := -1/3 t (x^3 - 1)
\[Delta] = 1/100;
p1 = 2;
Int[\[Lambda]^2*D[W[t], t]/(1 - t^3)/\[Delta], t];
(% /. t -> \[Lambda]) - (% /.
t -> ((\[Delta] + 1)^3*(\[Lambda]^3 - 1) + 1)^(1/3));
Int[%, \[Lambda]];
(% /. \[Lambda] -> x) - (% /. \[Lambda] -> 1) // Simplify