1. This solution is much faster on re-invocation than the one without the persistent num_ones variable. Unless of course it is performed on a much larger (than num_ones) array of 32-bit integer.
2. It is essential to have the statement
The reason for this is that the floor() function has a problem with precision. If can fail with 32-bit integer that are close to 2^32.
For instance, consider this Matlab code and system response:
Find the two-word state names
Give the Shortest Path Through The Maze
Matrix with different incremental runs
Make an awesome ramp for a tiny motorcycle stuntman
Wheat on a chessboard pt 1
Adding and Subtracting UINT variables
Rubik's Mini-Cube: Solve Randomized Mini-Cube - Score : Moves
Find: Faster Alternatives for Large Sorted/Unique Vectors
Create Circular Perfect Square Sequence
ismember: Enhanced Performance for 'rows' and width - Speed Scoring (66% savings)
Find the treasures in MATLAB Central and discover how the community can help you!
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office