?? scale.m
字號:
function B = scale(A, a0, a1, b0, b1)%% B = scale(A, a0, a1, b0, b1); rescale A by mapping [a0,a1] -> [b0,b1].% values below a0 are mapped to b0% values above a1 are mapped to b1% values between a0 and a1 are linearly mapped to the range b0, b1%% The b arguments may be omitted in which case they default to 0 and 1% Specifying a0 = -Inf will select minimum value in A as a0% Specifying a1 = +Inf will select maximum value in A as a1% It is an error if a1 < a0. %if (nargin <= 3) b0 = 0.0; b1 = 1.0;end%if (isinf(a0)) a0 = min(min(A));end%if (isinf(a1)) a1 = max(max(A));end%la = (A < a0);ra = (A >= a0) & (A <= a1);ua = (A > a1);B = zeros(size(A));B(la) = b0 .* ones(sum(sum(la)),1);B(ua) = b1 .* ones(sum(sum(ua)),1);if (a1 > a0) m = (b1 - b0) / (a1 - a0); n = (a1 * b0 - b1 * a0) / (a1 - a0); B(ra) = m * A(ra) + n;elseif (a1 == a0) bb = (b0 + b1) / 2.0; B(ra) = bb .* ones(sum(sum(ra)),1);else error('scale: parameter a1 must be >= a0')end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -