Plot exactly N bounce of a ball





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{
margin-bottom:0;
}
.everyonelovesstackoverflow{position:absolute;height:1px;width:1px;opacity:0;top:0;left:0;pointer-events:none;}








4












$begingroup$


I want to plot exactly N bounce of a ball. I'm using DSolve to solve the differential equation and WhenEvent to change the velocity. The code below plots only the first 10 seconds.



DSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, 
WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k -> k++}]}, y, {t, 0,
10}]
Plot[y[t] /. %, {t, 0, 10}]









share|improve this question









$endgroup$





















    4












    $begingroup$


    I want to plot exactly N bounce of a ball. I'm using DSolve to solve the differential equation and WhenEvent to change the velocity. The code below plots only the first 10 seconds.



    DSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, 
    WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k -> k++}]}, y, {t, 0,
    10}]
    Plot[y[t] /. %, {t, 0, 10}]









    share|improve this question









    $endgroup$

















      4












      4








      4


      1



      $begingroup$


      I want to plot exactly N bounce of a ball. I'm using DSolve to solve the differential equation and WhenEvent to change the velocity. The code below plots only the first 10 seconds.



      DSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, 
      WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k -> k++}]}, y, {t, 0,
      10}]
      Plot[y[t] /. %, {t, 0, 10}]









      share|improve this question









      $endgroup$




      I want to plot exactly N bounce of a ball. I'm using DSolve to solve the differential equation and WhenEvent to change the velocity. The code below plots only the first 10 seconds.



      DSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, 
      WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k -> k++}]}, y, {t, 0,
      10}]
      Plot[y[t] /. %, {t, 0, 10}]






      differential-equations






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 27 at 10:12









      zzsoltzzsolt

      233 bronze badges




      233 bronze badges

























          2 Answers
          2






          active

          oldest

          votes


















          8














          $begingroup$

          You have to declare a discrete variable to count the events



          nevent=5; (*number of bounces*)
          NDSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, k[0]== 0,
          WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k[t] ->k[t] + 1}],
          WhenEvent[k[t] == nevent, {te = t, "StopIntegration"}]}, y, {t, 0, 50}, DiscreteVariables -> {k} ]
          Plot[y[t] /. %, {t, 0, te}]


          enter image description here






          share|improve this answer









          $endgroup$























            4














            $begingroup$

            For completeness we note that you can solve the differential equation exactly (cf. this post on physics.SE):



            ξ = .9;
            k[t_] := Floor[Log[ξ, (ξ - 1) t + 1]];
            y[t_] := 1/2 ξ^k[t] (t - (ξ^k[t] - 1)/(ξ - 1)) - 1/2 (t - (ξ^k[t] - 1)/(ξ - 1))^2
            With[{n = 6},
            Plot[y[t], {t, 0, (ξ^n - 1)/(ξ - 1)}, PlotRange -> All]
            ]


            enter image description here



            (Note: here $xi$ denotes the coefficient of restitution, and I am working in units where $g=1$ and $v_0=1/2$. See the physics post for the general expression).






            share|improve this answer









            $endgroup$

















              Your Answer








              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',
              autoActivateHeartbeat: false,
              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/4.0/"u003ecc by-sa 4.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%2f199173%2fplot-exactly-n-bounce-of-a-ball%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









              8














              $begingroup$

              You have to declare a discrete variable to count the events



              nevent=5; (*number of bounces*)
              NDSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, k[0]== 0,
              WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k[t] ->k[t] + 1}],
              WhenEvent[k[t] == nevent, {te = t, "StopIntegration"}]}, y, {t, 0, 50}, DiscreteVariables -> {k} ]
              Plot[y[t] /. %, {t, 0, te}]


              enter image description here






              share|improve this answer









              $endgroup$




















                8














                $begingroup$

                You have to declare a discrete variable to count the events



                nevent=5; (*number of bounces*)
                NDSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, k[0]== 0,
                WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k[t] ->k[t] + 1}],
                WhenEvent[k[t] == nevent, {te = t, "StopIntegration"}]}, y, {t, 0, 50}, DiscreteVariables -> {k} ]
                Plot[y[t] /. %, {t, 0, te}]


                enter image description here






                share|improve this answer









                $endgroup$


















                  8














                  8










                  8







                  $begingroup$

                  You have to declare a discrete variable to count the events



                  nevent=5; (*number of bounces*)
                  NDSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, k[0]== 0,
                  WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k[t] ->k[t] + 1}],
                  WhenEvent[k[t] == nevent, {te = t, "StopIntegration"}]}, y, {t, 0, 50}, DiscreteVariables -> {k} ]
                  Plot[y[t] /. %, {t, 0, te}]


                  enter image description here






                  share|improve this answer









                  $endgroup$



                  You have to declare a discrete variable to count the events



                  nevent=5; (*number of bounces*)
                  NDSolve[{y''[t] == -9.81, y[0] == 5, y'[0] == 0, k[0]== 0,
                  WhenEvent[y[t] == 0, {y'[t] -> -0.95 y'[t], k[t] ->k[t] + 1}],
                  WhenEvent[k[t] == nevent, {te = t, "StopIntegration"}]}, y, {t, 0, 50}, DiscreteVariables -> {k} ]
                  Plot[y[t] /. %, {t, 0, te}]


                  enter image description here







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered May 27 at 10:41









                  Ulrich NeumannUlrich Neumann

                  14.4k7 silver badges23 bronze badges




                  14.4k7 silver badges23 bronze badges




























                      4














                      $begingroup$

                      For completeness we note that you can solve the differential equation exactly (cf. this post on physics.SE):



                      ξ = .9;
                      k[t_] := Floor[Log[ξ, (ξ - 1) t + 1]];
                      y[t_] := 1/2 ξ^k[t] (t - (ξ^k[t] - 1)/(ξ - 1)) - 1/2 (t - (ξ^k[t] - 1)/(ξ - 1))^2
                      With[{n = 6},
                      Plot[y[t], {t, 0, (ξ^n - 1)/(ξ - 1)}, PlotRange -> All]
                      ]


                      enter image description here



                      (Note: here $xi$ denotes the coefficient of restitution, and I am working in units where $g=1$ and $v_0=1/2$. See the physics post for the general expression).






                      share|improve this answer









                      $endgroup$




















                        4














                        $begingroup$

                        For completeness we note that you can solve the differential equation exactly (cf. this post on physics.SE):



                        ξ = .9;
                        k[t_] := Floor[Log[ξ, (ξ - 1) t + 1]];
                        y[t_] := 1/2 ξ^k[t] (t - (ξ^k[t] - 1)/(ξ - 1)) - 1/2 (t - (ξ^k[t] - 1)/(ξ - 1))^2
                        With[{n = 6},
                        Plot[y[t], {t, 0, (ξ^n - 1)/(ξ - 1)}, PlotRange -> All]
                        ]


                        enter image description here



                        (Note: here $xi$ denotes the coefficient of restitution, and I am working in units where $g=1$ and $v_0=1/2$. See the physics post for the general expression).






                        share|improve this answer









                        $endgroup$


















                          4














                          4










                          4







                          $begingroup$

                          For completeness we note that you can solve the differential equation exactly (cf. this post on physics.SE):



                          ξ = .9;
                          k[t_] := Floor[Log[ξ, (ξ - 1) t + 1]];
                          y[t_] := 1/2 ξ^k[t] (t - (ξ^k[t] - 1)/(ξ - 1)) - 1/2 (t - (ξ^k[t] - 1)/(ξ - 1))^2
                          With[{n = 6},
                          Plot[y[t], {t, 0, (ξ^n - 1)/(ξ - 1)}, PlotRange -> All]
                          ]


                          enter image description here



                          (Note: here $xi$ denotes the coefficient of restitution, and I am working in units where $g=1$ and $v_0=1/2$. See the physics post for the general expression).






                          share|improve this answer









                          $endgroup$



                          For completeness we note that you can solve the differential equation exactly (cf. this post on physics.SE):



                          ξ = .9;
                          k[t_] := Floor[Log[ξ, (ξ - 1) t + 1]];
                          y[t_] := 1/2 ξ^k[t] (t - (ξ^k[t] - 1)/(ξ - 1)) - 1/2 (t - (ξ^k[t] - 1)/(ξ - 1))^2
                          With[{n = 6},
                          Plot[y[t], {t, 0, (ξ^n - 1)/(ξ - 1)}, PlotRange -> All]
                          ]


                          enter image description here



                          (Note: here $xi$ denotes the coefficient of restitution, and I am working in units where $g=1$ and $v_0=1/2$. See the physics post for the general expression).







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered May 27 at 19:34









                          AccidentalFourierTransformAccidentalFourierTransform

                          7,0531 gold badge12 silver badges45 bronze badges




                          7,0531 gold badge12 silver badges45 bronze badges


































                              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.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f199173%2fplot-exactly-n-bounce-of-a-ball%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

                              He _____ here since 1970 . Answer needed [closed]What does “since he was so high” mean?Meaning of “catch birds for”?How do I ensure “since” takes the meaning I want?“Who cares here” meaningWhat does “right round toward” mean?the time tense (had now been detected)What does the phrase “ring around the roses” mean here?Correct usage of “visited upon”Meaning of “foiled rail sabotage bid”It was the third time I had gone to Rome or It is the third time I had been to Rome

                              Bunad

                              Færeyskur hestur Heimild | Tengill | Tilvísanir | LeiðsagnarvalRossið - síða um færeyska hrossið á færeyskuGott ár hjá færeyska hestinum