如何编程求解如下积分式?(√1+x*x√)表示1+x*x都在根号下面。
∫x*exp(x*x+x*(√1+x*x√)/(x+(√1+x*x√))dx.
非常感谢,大概给我个思路也行。

解决方案 »

  1.   

    上面的掉了个括号。如下正确:
    ∫x*exp(x*x+x*(√1+x*x√))/(x+(√1+x*x√))dx
      

  2.   

    怎么能不管呢,定积分就有些思路,不定积分我就没什么建议了。
    定积分就是求面积吧,你把表达式应用到坐标系中,求出一系列给定x所对应的y值然后用y乘以x的区间(如果区间足够小可以不用乘),再把这一系列的值加起来,就得到积分值了,至于积分上限是无穷大的问题,如果增加x的值你的积分结果不怎么变化了那么就差不多了。
    另外你的被积函数写的不是很清楚,能不能写个清楚些的?
      

  3.   

    哦,明白了,您的意思是:
    x从0到正无穷;
    x=0;
    n=极小量;(这个值如何确定?)
    for(x=0;;x+=n)
    y+=x*exp(x*x+x*(√1+x*x√))/(x+(√1+x*x√));
    是不是?
    这样的话对其实对任何被积函数都可行了?
      

  4.   

    给你个例子:
    #include "math.h"
    #define PI 3.1415926main()
    {
    long double n = 0.000001;
    long double sum = 0;
    long double x = 0;
    long double y = 0;
    for(x = -PI ; x < PI; x += n)
    {
    y=cos(x);
    y *= n;
    sum += y ;
    }
    }
    这是求cos的积分算法,应该得0的,实际上得不了0,有些误差不过很小的。对于一般工程计算足够了。
      

  5.   

    现在x从0到正无穷,计算量实在是大啊。
    现在这个积分式类似-sin(PI)+sin(-PI)这样是不是不大可能?
      

  6.   

    上面有句话说错了:
    求出一系列给定x所对应的y值然后用y乘以x的区间(如果区间足够小可以不用乘),
    不是不用乘,而是必须得乘以积分区间。
    sorry
    另外实际上没有你想想的那么大,积分结果计算出来相差不大就可以了。
      

  7.   

    我说了求不定积分我也不会,因此不能这么做『类似-sin(PI)+sin(-PI)』,另外你的那个表达式你用手动积分一下试试,反正我会累死的。
      

  8.   

    是的,我想应该×的。谢谢。
    那么,何时截止?n,n-1为下标。为表述方便。
    例:
    if(yn-y(n-1)<极小量)
       stop;
      

  9.   

    o ,这个建议很有用,非常谢谢您。您非常有耐心也很热情。
    可以交个朋友?
    MSN:[email protected]
    QQ:15211366。