我有一系列向量,我想在0和0之间进行归一化。 1.到目前为止,我已将数据重新采样到10kHz,然后去除噪声并创建辅助信号以显示能量的变化。
我的下一个任务是规范化所述向量,为此我使用" normc"但我仍然无法将我的列值归一化到0和0之间。 1.我能做些什么来完成我的任务?
答案 0 :(得分:0)
如果我们讨论列向量和L2规范,那么应该这样做:
a = a ./ repmat(sqrt(sum(a.^2)),size(a,1),1)
答案 1 :(得分:0)
normc
只取列向量并使它们在欧几里得范数中的长度为1。如果您尝试缩放数据以使所有单个值介于0和1之间,则相当简单。
如果您的数据范围为[a,b]
,并且您希望将其缩放到[0,1]
范围,则需要按a
换算并除以(b-a)
。
调用A
列向量矩阵,其中包含n
行和m
列。我认为以下内容应该有效:
A_min = repmat(min(A,[],1),n,1);
A_max = repmat(max(A,[],1),n,1);
A_scaled = (A - A_min)./(A_max-A_min);
如果您想沿着列进行缩放,您可以这样做:
A_min = repmat(min(A,[],2),1,m);
A_max = repmat(max(A,[],2),1,);
A_scaled = (A - A_min)./(A_max-A_min);