Re: "Incremental Integration"?

*To*: mathgroup at smc.vnet.net*Subject*: [mg31791] Re: "Incremental Integration"?*From*: bghiggins at ucdavis.edu (Brian Higgins)*Date*: Sun, 2 Dec 2001 04:25:10 -0500 (EST)*References*: <9ua3qg$194$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Here is one way if you are willing to use the Map function in your code: incrementalIntegrate[f_, xStart_, xFinal_, deltaX_] := Map[{#[[1]], #[[2]], NIntegrate[f, {x, #[[1]], #[[2]]}]} &, Map[{xStart, #} &, Range[xStart, xFinal, deltaX]]] Here is a table of values for Sin[x]: incrementalIntegrate[Sin[x], 0, 3\[Pi], .3] // TableForm Here is a plot of those values ListPlot[Map[Drop[#, 1] &, incrementalIntegrate[Sin[x], 0, 3\[Pi], .3]]] Cheers, Brian aes <siegman at stanford.edu> wrote in message news:<9ua3qg$194$1 at smc.vnet.net>... > Given a rather messy function f[x] , I want to make a Table of its integral > from x0 up to a set of equally spaced points xn = x0 + n*dx with maximum value > xFinal -- in other words > > g[x_] := NIntegrate[f[xi], {xi, x0, x}] > > Table[ {x, g[x]}, {x, x0, xFinal, dx}] > > Is Mathematica smart enough to calculate each successive value using the > previous value plus integration just over the increment in x to the next value? > > If not, what would be a clean and readable and also reasonably efficient way to > code this? > > [Note: For me anyway, there's some emphasis on the "clean and readable" part -- > avoiding esoteric Mathematica syntax, not taking terseness as the ultimate goal.] > > Email cc to poster appreciated.