Re: pure function to generate a list of integrals
- To: mathgroup at smc.vnet.net
- Subject: [mg77132] Re: pure function to generate a list of integrals
- From: "Sem" <sarner2006-sem at yahoo.it>
- Date: Mon, 4 Jun 2007 03:56:25 -0400 (EDT)
- References: <f3r9er$19e$1@smc.vnet.net> <f3u54r$41d$1@smc.vnet.net>
Sorry for the unnecessary Table command; this is the right way: f[n_, l_List] := NIntegrate[n x, {x, 0, #}] & /@ l; "Sem" <sarner2006-sem at yahoo.it> news:f3u54r$41d$1 at smc.vnet.net... > Hi, > > what about > > f[n_, l_List] := Table[NIntegrate[n x, {x, 0, #}] & /@ l]; > > ? > > HTH, > Sem > > "Ruth Lazkoz Saez" <ruth.lazkoz at ehu.es> > news:f3r9er$19e$1 at smc.vnet.net... >> Hi everyone, >> >> I am trying to brush up a long code I have to make it more compliant >> with the spirit of functional programming. I do not like to hear that >> the kind of calculations I do should run faster in C, because I suspect >> that if I managed to write good code in Mathematica it should be as >> fast. So I have to go and improve my code chunk by chunk. >> >> My first problem is that I want to generate a pure function say f, >> which, so that f[2, {0.1, 0.5, 0.9}] gives me the same output as >> >> {NIntegrate[2x, {x, 0, 0.1}], NIntegrate[2x, {x, 0, 0.5}], >> NIntegrate[2x, {x, 0, 0.9}]} >> >> That is, I want to generate a list of numerical integrals of the same >> function but making one of the integration limits change by taking >> values from a list. >> >> I also want my function to admit two arguments (a number and a list) >> because I want to be able to use the same definition to generate the >> same output as for instance >> >> >> {NIntegrate[3x, {x, 0, 0.1}], NIntegrate[3x, {x, 0, 0.5}], >> NIntegrate[3x, {x, 0, 0.9}]} >> >> by evaluating f[3, {0.1, 0.5, 0.9}] this time. >> >> I tried for quite a while, but I failed. I suspect one of the problems >> is NIntegrate is not listable. I could make some progress with Map but >> I only what halfway and on top I was not satisfied with the syntax I >> would have to use. >> >> Thanks in advance, >> >> Ruth Lazkoz >