RE: Create a cumulative list
- To: mathgroup at smc.vnet.net
- Subject: [mg93369] RE: [mg93346] Create a cumulative list
- From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
- Date: Wed, 5 Nov 2008 04:53:57 -0500 (EST)
Philipp, FoldList applies here: In[1]:= values = Range[9] Out[1]= {1, 2, 3, 4, 5, 6, 7, 8, 9} In[2]:= FoldList[Plus, 0, values] // Rest Out[2]= {1, 3, 6, 10, 15, 21, 28, 36, 45} If you want to incorporate a criterium just replace Plus by the pure = function: If[crit[x = Plus[##]], x, 0] & For your application crit is In[5]:= crit[x_] := -0.002 =98 x =98 0.002 In[6]:= c = FoldList[If[crit[x = Plus[##]], x, 0] &, 0, ValueList] = // Rest Out[6]= {0, -0.000654511, 0, 0.00103598, -0.00009301, 0, 0, 0, 0, 0, 0, = -0.00140056, \ 0, 0, 0, 0, 0.000289855, 0.000579626, -0.000772244, 0} -- Hartmut >-----Original Message----- >From: philipp [mailto:cadieux_jp at hotmail.com] >Sent: Tuesday, November 04, 2008 12:20 PM >To: mathgroup at smc.vnet.net >Subject: [mg93346] Create a cumulative list > >Hi to all, > >I have a problem creating a program in Mathematica and I can't find >how to do it. Actually, I found a way to find my answer, but it takes >59 lines ... and I need this kind of thing 4 times. > >So here is my problem. I have a list of values let's say ValueList = >{1,2,3,4,5,6,7,8,9} >What I want is Compilation = {1,3,6,10,15,21,28,36,45} created in >adding Compilation[[1]] with ValueList[[2]] to create >Compilation[[2]]. In the same way, Compilation[[7]] = = Compilation[[6]] >+ ValueList[[7]]. > >If that wasn't enough, I need to add a difficulty to that. If, at any >time, a value of Compilation[[i]] is bigger that XYZ, then that >Compilation[[i]] should be equal to 0. > >To help you understand (sorry but English is not my first language and >explaining it in my first language is already tough), here is the >results I am looking for. > >My ValueList = {0.0032833, -0.000654511, -0.0065494, 0.00103598, >-0.00112899, 0.00386173, 0.00365922, 0.00551557, -0.0138527, >0.00471387, 0.00497326, -0.00140056, -0.00187003, -0.0195785, >-0.00210204, -0.00900038, 0.000289855, 0.000289771, -0.00135187, >0.00386772} >My Compilation = {0, -0.000654511, 0, 0.00103598, -0.0000930101, 0, = 0, >0, 0, 0, 0, -0.00140056, 0, 0, 0, 0, 0.000289855, 0.000579626, >-0.000772247, 0} >and the additionnal criteria is >0.002 and <-0.002 (or >0.002 in >absolute value) > >If anyone can help me please. > >Thanks > >