主题:[原创]做论文遇到超大型积分,请高手指点
姑苏慕容
[专家分:0] 发布于 2008-04-22 11:09:00
我先是用MAPLE计算了他的数值积分,但是算不出来。不知道MATELAB是否能有结果,请高手帮忙算一下,谢谢。1/((7/10)*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)-(3/5)*x^2*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)+(2/5)*x^3*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)-(3/50)*sqrt(10)*((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))^(3/2)/(3+2*x)^3-(1/25)*x*sqrt(10)*((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))^(3/2)/(3+2*x))化简之后应该是-5*sqrt(2)*(3+2*x)/(sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(5)*sqrt((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)))*sqrt((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2))
回复列表 (共6个回复)
沙发
blivfate [专家分:720] 发布于 2008-04-22 20:28:00
>> syms x
>> f=1/((7/10)*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)-(3/5)*x^2*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)+(2/5)*x^3*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)-(3/50)*sqrt(10)*((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))^(3/2)/(3+2*x)^3-(1/25)*x*sqrt(10)*((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))^(3/2)/(3+2*x))
f =
1/(7/10*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(1/2)/(3+2*x)-3/5*x^2*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(1/2)/(3+2*x)+2/5*x^3*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(1/2)/(3+2*x)-3/50*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(3/2)/(3+2*x)^3-1/25*x*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(3/2)/(3+2*x))
>> f0=simple(f);
>> f0
f0 =
-5*10^(1/2)*(3+2*x)^2/(160*x^6+240*x^5-400*x^4-200*x^3+8*x^3*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+24*x^2*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+840*x^2+560*x+18*x*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+3*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2))/((3+2*x)*(20*x^3-30*x^2+35+5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)))^(1/2)
>> f1=int(f0)
Warning: Explicit integral could not be found.
> In sym.int at 58
f1 =
int(-5*10^(1/2)*(3+2*x)^2/(160*x^6+240*x^5-400*x^4-200*x^3+8*x^3*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+24*x^2*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+840*x^2+560*x+18*x*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+3*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2))/((3+2*x)*(20*x^3-30*x^2+35+5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)))^(1/2),x)
板凳
姑苏慕容 [专家分:0] 发布于 2008-04-22 21:05:00
规定x = -1.5 .. -1/4-(1/4)*sqrt(5),求得是定积分
3 楼
blivfate [专家分:720] 发布于 2008-04-26 00:11:00
>> fn=@(x)-5.*sqrt(2).*(3+2.*x)./(sqrt((3+2.*x).*(-30.*x.^2+35+20.*x.^3+sqrt(5).*sqrt((4.*x.^2-28.*x+29).*(-1+2.*x+4.*x.^2).^2))).*sqrt((4.*x.^2-28.*x+29).*(-1+2.*x+4.*x.^2).^2))
fn =
@(x)-5.*sqrt(2).*(3+2.*x)./(sqrt((3+2.*x).*(-30.*x.^2+35+20.*x.^3+sqrt(5).*sqrt((4.*x.^2-28.*x+29).*(-1+2.*x+4.*x.^2).^2))).*sqrt((4.*x.^2-28.*x+29).*(-1+2.*x+4.*x.^2).^2))
>> fo=quad(fn,-1.5,-1/4-(1/4)*sqrt(5))
Warning: Infinite or Not-a-Number function value encountered.
> In quad at 109
fo =
-Inf
好像也不能积分
4 楼
Guassfans [专家分:4090] 发布于 2008-04-26 09:02:00
>> syms x
>> f=1/((7/10)*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)-(3/5)*x^2*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)+(2/5)*x^3*sqrt(10)*sqrt((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))/(3+2*x)-(3/50)*sqrt(10)*((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))^(3/2)/(3+2*x)^3-(1/25)*x*sqrt(10)*((3+2*x)*(-30*x^2+35+20*x^3+sqrt(-1920*x^5+145+2800*x^3+320*x^6-720*x)))^(3/2)/(3+2*x))
f =
1/(7/10*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(1/2)/(3+2*x)-3/5*x^2*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(1/2)/(3+2*x)+2/5*x^3*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(1/2)/(3+2*x)-3/50*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(3/2)/(3+2*x)^3-1/25*x*10^(1/2)*((3+2*x)*(-30*x^2+35+20*x^3+(-1920*x^5+145+2800*x^3+320*x^6-720*x)^(1/2)))^(3/2)/(3+2*x))
>> f=simple(f)
f =
-5*10^(1/2)*(3+2*x)^2/(160*x^6+240*x^5-400*x^4-200*x^3+8*x^3*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+24*x^2*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+840*x^2+560*x+18*x*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)+3*5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2))/((3+2*x)*(20*x^3-30*x^2+35+5^(1/2)*((4*x^2-28*x+29)*(-1+2*x+4*x^2)^2)^(1/2)))^(1/2)
>> a=-1.5;b=-1/4-(1/4)*sqrt(5);
>> IntGauss(f,a,b,4) %利用Gauss求积公式求数值积分
ans =
0.1912
5 楼
Guassfans [专家分:4090] 发布于 2008-04-26 09:06:00
%具体算法见相关计算方法教材
function I = IntGauss(f,a,b,n,AK,XK)
%f:被积函数
%a:积分下限
%b:积分上限
%n:积分所用项
%AK:自定义系数
%XK:自定义结点
if(n<5 && nargin == 4)
AK = 0;
XK = 0;
else
XK1=((b-a)/2)*XK+((a+b)/2);
I=((b-a)/2)*sum(AK.*subs(sym(f),findsym(f),XK1));
end
ta = (b-a)/2;
tb = (a+b)/2;
switch n
case 0,
I=2*ta*subs(sym(f),findsym(sym(f)),tb);
case 1,
I=ta*(subs(sym(f),findsym(sym(f)),ta*0.5773503+tb)+...
subs(sym(f),findsym(sym(f)),-ta*0.5773503+tb));
case 2,
I=ta*(0.55555556*subs(sym(f),findsym(sym(f)),ta*0.7745967+tb)+...
0.55555556*subs(sym(f),findsym(sym(f)),-ta*0.7745967+tb)+...
0.88888889*subs(sym(f),findsym(sym(f)),tb));
case 3,
I=ta*(0.3478548*subs(sym(f),findsym(sym(f)),ta*0.8611363+tb)+...
0.3478548*subs(sym(f),findsym(sym(f)),-ta*0.8611363+tb)+...
0.6521452*subs(sym(f),findsym(sym(f)),ta*0.3398810+tb)...
+0.6521452*subs(sym(f),findsym(sym(f)),-ta*0.3398810+tb));
case 4,
I=ta*(0.2369269*subs(sym(f),findsym(sym(f)),ta*0.9061793+tb)+...
0.2369269*subs(sym(f),findsym(sym(f)),-ta*0.9061793+tb)+...
0.4786287*subs(sym(f),findsym(sym(f)),ta*0.5384693+tb)...
+0.4786287*subs(sym(f),findsym(sym(f)),-ta*0.5384693+tb)+...
0.5688889*subs(sym(f),findsym(sym(f)),tb));
end
6 楼
姑苏慕容 [专家分:0] 发布于 2008-04-26 11:22:00
非常感谢!!! 还想问一下这个积分的精度怎样,比MAPLE的普通积分运算的精度怎样? 以后我就用这个积分了。
我来回复