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