Problem 561. Find the jerk
No, it's not the author of this problem...
Jerk is the rate of change in acceleration over time of an object. So, if given the position of an object over time in the form of a 1-by-N vector, return the indices i where there is nonzero jerk.
Super rad bonus hint: The signal you need to find the jerk of will be given by the variable sig, created with the commands
h = 0.065; % stepsize t = -10:h:10; sigCoefs = 2*rand(1,3)-1; sig = polyval(sigCoefs,t); breakPoint = randi(length(sig)-2)+1; sig(breakPoint) = (1.01)*sig(breakPoint); % this creates a nonzero jerk
Check the signal visually with
plot(t,sig,'k.-')
Now, using just sig, determine breakPoint.
Solution Stats
Problem Comments
-
4 Comments
My apologies to the second solver of the problem... The test-suite changed so that the signal sig is no longer simply t^2. With that type of hint, someone could just difference the perturbed signal with t^2 to find the jerk.. Or someone could simply look for the point where the acceleration is negative... That's not my intent. I want a nonzero jerk. Now sig is somewhat random.
Kye, not a problem. I will try again. Cheers.
I realize that an even better signal would be one created as before except with the modification
sig(breakPoint) = (-1)^(randi(2)-1)*(1.01)*sig(breakPoint);
so that the jerk could be positive or negative...
Many of the solutions return multiple invalid answers. The test condition "any" allows these to pass. Suggest change "any" to "all". all(abs(findAJerk(sig) - breakPoint)<=6)
Solution Comments
Show commentsProblem Recent Solvers54
Suggested Problems
-
7650 Solvers
-
3662 Solvers
-
Project Euler: Problem 3, Largest prime factor
1430 Solvers
-
Who knows the last digit of pi?
662 Solvers
-
1641 Solvers
More from this Author1
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!