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

Calixte Denizet calixte at contrib.scilab.org
Tue May 24 11:07:32 CEST 2011


Hi Ginters,

You could use something like:
subintlen=1;
xmin=-1e2;
xmax=1e2;
out=0;
l=list(f,1,.1);// to avoid to create again the list
for i=xmin:subintlen:(xmax-subintlen);out=out+intg(i,i+subintlen,l);end;
out

Calixte

>         
> 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.





More information about the users mailing list