Re: Create a cumulative list
- To: mathgroup at smc.vnet.net
- Subject: [mg93383] Re: Create a cumulative list
- From: Januk <ggroup at sarj.ca>
- Date: Wed, 5 Nov 2008 04:56:29 -0500 (EST)
- References: <gepb4g$sjd$1@smc.vnet.net>
Hi, You can try something like: myAccumulate[list_, min_: - 0.002, max_: 0.002] := Rest@FoldList[ If[Total[{##}] > max || Total[{##}] < min, 0, Total[{##}]] &, 0, list] myAccumulate[ValueList] myAccumulate[ValueList, -0.004, 0.004] Januk On Nov 4, 6:19 am, philipp <cadieux... at hotmail.com> wrote: > 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