On 2 Jun 2009, at 21:12, dmelliott wrote:

>
> Dear Søren,
>
>    More thoughts:
>
>
>    The idea of this routine is that it integrates existing data in  
> its most
> ususal form.  That is, it does not need a function to call, and,  
> since, for
> better or for worse, most data comes on a domain of equally sized  
> steps,
> this is what it uses.  This is an attempt to make it compatable  
> whith most
> experimantal data, and the outputs of other routines, e.g. sales by  
> week,
> Fourie analysed amplitudes by frequency, actuarial data by age,  
> etc.  The
> patrial interval integrals, including cumulative, can be achieved by  
> looping
> or otherwise manipulating the endpoint values.
>
>    The best way to see its worth is to compare it to the available  
> routine
> for existing data, by editing the "integrator_verifier" to use the  
> "trapz"
> routine.  The latter is only of first order, and even for as many as  
> 500
> points on [0,1] yields a 2.01e-6 relative error for the next higher  
> order,
> the second.  For higher orders higher than second it is even more  
> useless.
> There probably should a caution appended to the instructions about  
> this.

Douglas,

It seems to me there is one detail you are missing here:
experimental data are not always polynomials, actually most often you  
don't even have a way to tell wether they are smooth, if all you have  
are equispaced samples.

Using a high order quadrature rule only makes sense if you know a- 
priori your data can be
accurately approximated by a polynomial, e.g. by Taylor expansion.
If you have no a-priori knowledge about the smoothness of your data,  
using a low order quadrature rule is a safer bet. For example consider  
this well known example:

 >> x = linspace (-1, 1, 10);
 >> f = @(x) 1./(1+25.*x.^2);
 >> F = f(x);
 >> integrator (F, -1, 1)
ans =  0.47972
 >> sum ((F(2:end)+F(1:end-1)).*diff(x)/2)
ans =  0.54437

while the exact value of the integral is

 >> .4 * atan (5)
ans =  0.54936
 >> quad(f, -1, 1)
ans =  0.54936

so in this case even the simple trapezoidal rule beats your 10th order  
method because it's based on approximating f by means of a highly- 
order and thus highly oscillating polynomial.

So I believe your function would actually be more useful if the order  
of the quadrature rule to use was to be given as an input option  
rather than be set automatically depending on the size of the sample.

HTH,
c.
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Octave-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to