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

231 Solutions

48 Solvers

Last Solution submitted on Dec 16, 2025

Last 200 Solutions

Problem Comments

Solution Comments

Show comments
Loading...