[scilab-Users] intg: results differ substantially from those from Wolfram Alpha, which are correct?

Ginters Bušs ginters.buss at gmail.com
Tue May 24 09:34:06 CEST 2011


----- Message d'origine -----
De : Ginters Bušs
Date : 20/05/2011 13:09:

> Dear all,
>
> Let's integrate:
>
> function y=f(x, a,
> sigma),y=(1/sqrt(2*%pi))*log(abs(a+sigma*x))*exp(-(x^2)/2),endfunction
>
> out=intg(-1e+2,1e+2,list(f,1,.1))
>
> out=8.605D-49
>
> but Wolfram Alpha gives out= -0.111
>
> which is a totally different answer.
>
> I've noticed that intg and integrate incline to give values close to zero
> when boundaries tend to infinity. So, I trust Wolfram Alpha more. How to get
> around the apparent mistakes in intg, integrate (particularly, I'm
> interested in indefinite integrals)?
>
> Gin.
>
>
>

On Sat, May 21, 2011 at 1:20 PM, Samuel GOUGEON <
Samuel.Gougeon at univ-lemans.fr> wrote:

>  Hello,
> The following thread on Bugzilla may also feed the present discussion:
> http://bugzilla.scilab.org/show_bug.cgi?id=5728
> Regards
> Samuel
>
>
> Thanks. I like your insistance in that discussion, Sam.

Although a "known-limitation-of-current-algorithm" might be a correct
description of the current algorithm, it nevertheless does not help much
when one wants the algorithm to give the correct solution and observes that
a guy like Wolfram has apparently has done something about this issue: for y
given function, Scilab's intg/integrate gives ok value for bounds (-50,50),
but screws up for (-100,100) and larger bounds, which I consider still
pretty narrow. On the contrary, Wolfram Alpha

http://www.wolframalpha.com/input/?i=integration&a=*C.integration-_*Calculator.dflt-&f2=%281%2Fsqrt%282*pi%29%29*log%28abs%281%2B.1*x%29%29*exp%28-%28x
^2%29%2F2%29&x=0&y=0&f=Integral.integrand_%281%2Fsqrt%282*pi%29%29*log%28abs%281%2B.1*x%29%29*exp%28-%28x^2%29%2F2%29&f3=-infinity&f=Integral.rangestart_-infinity&f4=%2Binfinity&f=Integral.rangeend_%2Binfinity&a=*FVarOpt.1-_**-.***Integral.variable---.**Integral.rangestart-.*Integral.rangeend---

gives ok values for bounds (-50,50), (-100,100), (-1000,1000) and it allows
to directly use infinite bounds and get ok result (interim bounds like
(-1e9,1e9) are not ok). I consider this a superior solution. If Wolfram can,
why shouldn't Scilab try? The status quo might hurt Scilab's reputation in
the domain in long run.

Gin.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20110524/5328f0b7/attachment.htm>


More information about the users mailing list