2020-06-06

matlab利用mapminmax实现归一化到(0,1)和(-1,1)

若输入为1×b的列向量,比如b为2048

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%使用mapminmax来实现归一化到[0,1]
n=y_total';                 %将读取的文件取转置,y_total为(2048*1),因为mapminmax是按行处理
p=[] ;                     %p初始化为空列表
%A=[p,n];                %看一下n的情况为1*2048  [z,ps] = mapminmax(n);   %将n(只有一行)归一化到[-1,1]
ps.ymin = 0;                 %设置ps中的参数ymin=0,因为要归一化到[0,1]
[z,ps] = mapminmax(n,ps);  %将n归一化到[0,1]
q=z';                     %将行(1*2048)转置为列2048*1
p=[p,q];                  %将循环每次所得的列缀在p列表面
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

若需要返回未归一化前的数据`

mapminmax('reverse',z,ps)  %还原未归一化

若输入为m×n的矩阵

m=xlsread('a.xlse');         %读取需要按列归一化的xlse文件
n=m';                     %N*M
x=[];                     
for i=1:raws               %循环需要归一化的列,按文件实际列数来取。即转置后的行数 ,raws=N    
[y,ps] = mapminmax(n(i,:));   %将n的第i行归一化到[-1,1]    
ps.ymin = 0;                   
[y,ps] = mapminmax(n(i,:),ps);%将n的第i行归一化到[0,1]    
z=y';                     %M*N    
x=[x,z];                 
end                     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值