Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 211772

Submitted on 3 Mar 2013 by Alfonso Nieto-Castanon

Correct

22Size
Leading solution size is 17.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

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

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

                    
3
Pass
 
%% extrem positive
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 *
    1.7977
    1.7615
    0.8925
    1.5444
    0.3451
    1.6697
    0.0000
    0.6070
    0.0355
    0.1617
4
Pass
 
%% extrem
x = diag(pascal(10));
a = -realmax/2; b = realmax/2;
y = rescale_vector(x,a,b);
assert(min(y)==a && max(y)==b)