⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scale.m

📁 kmeans clustering in matlab
💻 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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -