scale_snn.m
来自「神经网络的工具箱, 神经网络的工具箱,」· M 代码 · 共 82 行
M
82 行
function [y, sc] = scale_snn(x, sc, s)%SCALE_SNN scale values.%% Syntax%% 1. [y, sc] = scale_snn(x, scaling_name)% 2. y = scale_snn(x, sc);%% Description%% 1. SCALE_SNN(x, scaling_name) takes% x - values which scaling parameters are computed from.% scaling_name - scaling function. Supported scaling functions are:% SC_EXP_SNN - exp(x)% SC_INV_SNN - 1/x% SC_LOG_SNN - log(x)% SC_MEANZERO_SNN - x-mean(x)% SC_MONEONE_SNN - linear mapping on [-1, 1]% SC_SQRT_SNN - sqrt(x)% SC_STDONE_SNN - x/std(x)% SC_ZEROONE_SNN - linear mapping on [0, 1]% and returns% y - scaled values.% sc - sc_struct containing scaling information.%%% 2. SCALE_SNN(x, sc) takes% x - values to be scaled.% sc - sc_struct containing scaling information to be used.% and reutrns% y - scaled values.%% Examples%% x = [1 2 3; 4 5 6] % [y(1,:), sc1] = scale_snn(x(1,:), 'sc_meanzero_snn')% [y(1,:), sc2] = scale_snn(y(1,:), 'sc_sqrt_snn')% [y(2,:), sc3] = scale_snn(x(2,:), 'sc_sqrt_snn')%% scale_snn([0 1 2], sc1)%% xinv = invscale_snn(y, {[sc1 sc2]; sc3})% % % See also%% INVSCALE_SNN%% NOT DOCUMENTED (use INVSCALE_SNN instead):% x = scale_snn(y, sc, 'inv')%%#function sc_exp_snn sc_inv_snn sc_log_snn sc_meanzero_snn %#function sc_moneone_snn sc_sqrt_snn sc_stdone_snn sc_zeroone_snn if (nargin == 2) if isstr(sc) % scale_snn(x, scaling_name) [y, sc] = feval(sc, x); elseif iscell(sc) for k = 1:size(x, 1) tmp = x(k,:); for i = 1:prod(size(sc{k})) tmp = feval(sc{k}(i).name, tmp, sc{k}(i).parameters); end y(k,:) = tmp; end else for i = 1:prod(size(sc)) x = feval(sc(i).name, x, sc(i).parameters); end y = x; endelseif (nargin == 3) if strcmp('inv', s) y = invscale_snn(x, sc); else error('SCALE_SNN: 3rd argument must be ''inv''.'); endelse error('SCALE_SNN: incorrect number of input arguments');end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?