Cody

Problem 1312. Rescaling vector

Solution 2088717

Submitted on 11 Jan 2020 by Asif Newaz
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
x = [-2 -10 5 10]; a = 0; b = 1; assert(isequal(rescale_vector(x,a,b),[0.4 0 0.75 1]))

y = 0.4000 0 0.7500 1.0000

2   Pass
x = [-2 -10 5 10]; a = 1; b = 0; assert(isequal(rescale_vector(x,a,b),[0.6 1 0.25 0]))

y = 0.6000 1.0000 0.2500 0

3   Pass
x = rand(10,1); a = realmin; b = realmax/1e2; y = rescale_vector(x,a,b) assert(min(y)==realmin & max(y)==b)

y = 1.0e+306 * 0.8476 0.0000 0.3292 0.4786 0.4132 0.5815 1.6221 0.7950 0.3793 1.7977 y = 1.0e+306 * 0.8476 0.0000 0.3292 0.4786 0.4132 0.5815 1.6221 0.7950 0.3793 1.7977

4   Pass
x = diag(pascal(10)); a = -realmax/2; b = realmax/2; y = rescale_vector(x,a,b); assert(min(y)==a && max(y)==b)

y = 1.0e+307 * -8.9885 -8.9881 -8.9866 -8.9814 -8.9630 -8.8957 -8.6472 -7.7198 -4.2301 8.9885