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:



The example illustration, sum same color with interval equals to 3 in this case



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:



enter image description here



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.










share|improve this question
























  • 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















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:



The example illustration, sum same color with interval equals to 3 in this case



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:



enter image description here



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.










share|improve this question
























  • 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













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:



The example illustration, sum same color with interval equals to 3 in this case



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:



enter image description here



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.










share|improve this question















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:



The example illustration, sum same color with interval equals to 3 in this case



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:



enter image description here



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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 hour ago

























asked 3 hours ago









cj9435042

33716




33716












  • 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
















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










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]





share|improve this answer























  • 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


















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}







share|improve this answer





















    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "387"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    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

























    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]





    share|improve this answer























    • 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















    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]





    share|improve this answer























    • 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













    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]





    share|improve this answer














    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]






    share|improve this answer














    share|improve this answer



    share|improve this answer








    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


















    • 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










    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}







    share|improve this answer

























      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}







      share|improve this answer























        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}







        share|improve this answer












        Total@Take[Range@9, {#, -1, 3}] & /@ Range@3    



        {12, 15, 18}




        or..



        Total /@ Transpose@Partition[Range@9, 3]   



        {12, 15, 18}








        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 3 hours ago









        J42161217

        3,597220




        3,597220






























            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            404 Error Contact Form 7 ajax form submitting

            How to know if a Active Directory user can login interactively

            Refactoring coordinates for Minecraft Pi buildings written in Python