Data Regularization - MATLAB Cody - MATLAB Central

Problem 42504. Data Regularization

Difficulty:Rate

Provided is an m-by-n integer data matrix A whose elements are drawn arbitrarily from a set S = [1,2,3,...,S] for any large integer number S > 1. The "arbitrary" manner of drawing integer numbers implies that each column of A might contain only a subset of integer numbers from S. Our objective is to regularize the data in A subject to the following rules:

For each column in A,

  • The smallest number or numbers (if there are more than one such number) are mapped to 1;
  • The 2nd-smallest number or numbers (if there are more than one such number) are mapped to 2;
  • The k th-smallest number or numbers (if there are more than one such number) are mapped to k .

For example, S = [1:8] with S = 8. Suppose the input data matrix A is

A = [2  6
     5  3
     5  6
     3  7]

Then the output matrix B is

B = [1  2 
     3  1
     3  2
     2  3]

Please try to avoid for or while loops. Vectorized code will be more appreciated.

Solution Stats

26.96% Correct | 73.04% Incorrect
Last Solution submitted on May 06, 2025

Problem Comments

Solution Comments

Show comments
Why should you share code?
In a discussion on LInkedin about my recent blog post, Do these...
2
3

Problem Recent Solvers41

Suggested Problems

More from this Author29

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!