List Interval Sum
up vote
2
down vote
favorite
I am doing a large data-set computation. Among those computational steps, in one step I need to do a sum with a pattern: Sum the elements with same interval.
For example, for a list from 1 to 9; With the interval being set to 3 manually. So it could be other values in different cases.
And the list would be calculated as:
1 + 4 + 7 = 12;
2 + 5 + 8 = 15;
3 + 6 + 9 = 18;
So for list = Range[1,9]
,the final desired result would be {12,15,18}
in this example. I attached an illustration for a further elaboration: sum the element with the same color when interval = 3:
Thanks for @Chris's Answer, the above case could be solved by:
Total[Partition[Range[9], 3]]
Edit my original question from here:
But what I actually want to do is only sum "N" numbers in a time. N is settled and when N = 3 in below example:
It should be computed by :
1 + 4 + 7 = 12;
2 + 5 + 8 = 15;
3 + 6 + 9 = 18;
10 + 13 + 16 = 39;
11 + 14 + 17 = 42;
12 + 15 + 18 = 45;
Hereby the result would be {12,15,18,39,42,45}
I think this might be not hard, but I just can't think it very clearly when I want to utilize the parallelization characteristics of MMA and trying to avoid Unpacked Array
results.
list-manipulation
add a comment |
up vote
2
down vote
favorite
I am doing a large data-set computation. Among those computational steps, in one step I need to do a sum with a pattern: Sum the elements with same interval.
For example, for a list from 1 to 9; With the interval being set to 3 manually. So it could be other values in different cases.
And the list would be calculated as:
1 + 4 + 7 = 12;
2 + 5 + 8 = 15;
3 + 6 + 9 = 18;
So for list = Range[1,9]
,the final desired result would be {12,15,18}
in this example. I attached an illustration for a further elaboration: sum the element with the same color when interval = 3:
Thanks for @Chris's Answer, the above case could be solved by:
Total[Partition[Range[9], 3]]
Edit my original question from here:
But what I actually want to do is only sum "N" numbers in a time. N is settled and when N = 3 in below example:
It should be computed by :
1 + 4 + 7 = 12;
2 + 5 + 8 = 15;
3 + 6 + 9 = 18;
10 + 13 + 16 = 39;
11 + 14 + 17 = 42;
12 + 15 + 18 = 45;
Hereby the result would be {12,15,18,39,42,45}
I think this might be not hard, but I just can't think it very clearly when I want to utilize the parallelization characteristics of MMA and trying to avoid Unpacked Array
results.
list-manipulation
is the length of the input list always a power ofn
? If not, what is the desired output for inputsRange[19]
andRange[20]
?
– kglr
27 secs ago
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I am doing a large data-set computation. Among those computational steps, in one step I need to do a sum with a pattern: Sum the elements with same interval.
For example, for a list from 1 to 9; With the interval being set to 3 manually. So it could be other values in different cases.
And the list would be calculated as:
1 + 4 + 7 = 12;
2 + 5 + 8 = 15;
3 + 6 + 9 = 18;
So for list = Range[1,9]
,the final desired result would be {12,15,18}
in this example. I attached an illustration for a further elaboration: sum the element with the same color when interval = 3:
Thanks for @Chris's Answer, the above case could be solved by:
Total[Partition[Range[9], 3]]
Edit my original question from here:
But what I actually want to do is only sum "N" numbers in a time. N is settled and when N = 3 in below example:
It should be computed by :
1 + 4 + 7 = 12;
2 + 5 + 8 = 15;
3 + 6 + 9 = 18;
10 + 13 + 16 = 39;
11 + 14 + 17 = 42;
12 + 15 + 18 = 45;
Hereby the result would be {12,15,18,39,42,45}
I think this might be not hard, but I just can't think it very clearly when I want to utilize the parallelization characteristics of MMA and trying to avoid Unpacked Array
results.
list-manipulation
I am doing a large data-set computation. Among those computational steps, in one step I need to do a sum with a pattern: Sum the elements with same interval.
For example, for a list from 1 to 9; With the interval being set to 3 manually. So it could be other values in different cases.
And the list would be calculated as:
1 + 4 + 7 = 12;
2 + 5 + 8 = 15;
3 + 6 + 9 = 18;
So for list = Range[1,9]
,the final desired result would be {12,15,18}
in this example. I attached an illustration for a further elaboration: sum the element with the same color when interval = 3:
Thanks for @Chris's Answer, the above case could be solved by:
Total[Partition[Range[9], 3]]
Edit my original question from here:
But what I actually want to do is only sum "N" numbers in a time. N is settled and when N = 3 in below example:
It should be computed by :
1 + 4 + 7 = 12;
2 + 5 + 8 = 15;
3 + 6 + 9 = 18;
10 + 13 + 16 = 39;
11 + 14 + 17 = 42;
12 + 15 + 18 = 45;
Hereby the result would be {12,15,18,39,42,45}
I think this might be not hard, but I just can't think it very clearly when I want to utilize the parallelization characteristics of MMA and trying to avoid Unpacked Array
results.
list-manipulation
list-manipulation
edited 1 hour ago
asked 3 hours ago
cj9435042
33716
33716
is the length of the input list always a power ofn
? If not, what is the desired output for inputsRange[19]
andRange[20]
?
– kglr
27 secs ago
add a comment |
is the length of the input list always a power ofn
? If not, what is the desired output for inputsRange[19]
andRange[20]
?
– kglr
27 secs ago
is the length of the input list always a power of
n
? If not, what is the desired output for inputs Range[19]
and Range[20]
?– kglr
27 secs ago
is the length of the input list always a power of
n
? If not, what is the desired output for inputs Range[19]
and Range[20]
?– kglr
27 secs ago
add a comment |
2 Answers
2
active
oldest
votes
up vote
3
down vote
Total[Partition[Range[9], 3]]
{12, 15, 18}
Update for revised question:
r = Range[18]
Total /@ Flatten[Partition[#, 3] & /@ {r[[1 ;; ;; 3]], r[[2 ;; ;; 3]], r[[3 ;; ;; 3]]}, 1]
Hi Chris, sorry I wasn't clarify the problem clearly. I just updated my question would you still interest to help?
– cj9435042
1 hour ago
add a comment |
up vote
1
down vote
Total@Take[Range@9, {#, -1, 3}] & /@ Range@3
{12, 15, 18}
or..
Total /@ Transpose@Partition[Range@9, 3]
{12, 15, 18}
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
Total[Partition[Range[9], 3]]
{12, 15, 18}
Update for revised question:
r = Range[18]
Total /@ Flatten[Partition[#, 3] & /@ {r[[1 ;; ;; 3]], r[[2 ;; ;; 3]], r[[3 ;; ;; 3]]}, 1]
Hi Chris, sorry I wasn't clarify the problem clearly. I just updated my question would you still interest to help?
– cj9435042
1 hour ago
add a comment |
up vote
3
down vote
Total[Partition[Range[9], 3]]
{12, 15, 18}
Update for revised question:
r = Range[18]
Total /@ Flatten[Partition[#, 3] & /@ {r[[1 ;; ;; 3]], r[[2 ;; ;; 3]], r[[3 ;; ;; 3]]}, 1]
Hi Chris, sorry I wasn't clarify the problem clearly. I just updated my question would you still interest to help?
– cj9435042
1 hour ago
add a comment |
up vote
3
down vote
up vote
3
down vote
Total[Partition[Range[9], 3]]
{12, 15, 18}
Update for revised question:
r = Range[18]
Total /@ Flatten[Partition[#, 3] & /@ {r[[1 ;; ;; 3]], r[[2 ;; ;; 3]], r[[3 ;; ;; 3]]}, 1]
Total[Partition[Range[9], 3]]
{12, 15, 18}
Update for revised question:
r = Range[18]
Total /@ Flatten[Partition[#, 3] & /@ {r[[1 ;; ;; 3]], r[[2 ;; ;; 3]], r[[3 ;; ;; 3]]}, 1]
edited 53 mins ago
answered 3 hours ago
Chris
52116
52116
Hi Chris, sorry I wasn't clarify the problem clearly. I just updated my question would you still interest to help?
– cj9435042
1 hour ago
add a comment |
Hi Chris, sorry I wasn't clarify the problem clearly. I just updated my question would you still interest to help?
– cj9435042
1 hour ago
Hi Chris, sorry I wasn't clarify the problem clearly. I just updated my question would you still interest to help?
– cj9435042
1 hour ago
Hi Chris, sorry I wasn't clarify the problem clearly. I just updated my question would you still interest to help?
– cj9435042
1 hour ago
add a comment |
up vote
1
down vote
Total@Take[Range@9, {#, -1, 3}] & /@ Range@3
{12, 15, 18}
or..
Total /@ Transpose@Partition[Range@9, 3]
{12, 15, 18}
add a comment |
up vote
1
down vote
Total@Take[Range@9, {#, -1, 3}] & /@ Range@3
{12, 15, 18}
or..
Total /@ Transpose@Partition[Range@9, 3]
{12, 15, 18}
add a comment |
up vote
1
down vote
up vote
1
down vote
Total@Take[Range@9, {#, -1, 3}] & /@ Range@3
{12, 15, 18}
or..
Total /@ Transpose@Partition[Range@9, 3]
{12, 15, 18}
Total@Take[Range@9, {#, -1, 3}] & /@ Range@3
{12, 15, 18}
or..
Total /@ Transpose@Partition[Range@9, 3]
{12, 15, 18}
answered 3 hours ago
J42161217
3,597220
3,597220
add a comment |
add a comment |
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f187334%2flist-interval-sum%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
is the length of the input list always a power of
n
? If not, what is the desired output for inputsRange[19]
andRange[20]
?– kglr
27 secs ago