Problem 963. We love vectorized solutions. Problem 1 : remove the row average.
Given a 2-d matrix, remove the row average from each row. Your solution MUST be vectorized. The solution will be tested for accuracy AND speed. Any for loops will make the solution too slow to pass the speed test.
Example:
a = [ 1 2 ; 3 5 ]; b = remove_average_vectorized(a); % b is [ -0.5 0.5 ; -1 1 ];
Solution Stats
Problem Comments
-
9 Comments
The solution with for is able to solve this problem currently within time. When requesting performance, you should measure the time dynamically, or else you will be forced to adjust the threshold as the years go by and computers evolve.
You should make the timing test dynamic. The current optimally vectorized solution is about 7 or 8 times faster than the default looped solution. You could add a test that confirms at least a 75% time reduction.
This was pretty easy...
Solution Comments
Show commentsProblem Recent Solvers832
Suggested Problems
-
Find the longest sequence of 1's in a binary sequence.
6361 Solvers
-
Which values occur exactly three times?
5142 Solvers
-
Project Euler: Problem 6, Natural numbers, squares and sums.
2321 Solvers
-
Flip the main diagonal of a matrix
834 Solvers
-
599 Solvers
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!