matlab normalize1函数,MATLAB实现规范化(normalize)数据的函数实现

对数据进行规范化和计算K近邻一样经常使用,所以用MATLAB直接实现一个函数保存在博客上,这样每次使用的时候直接从这里复制一份就可以了,所以说博客对于个人来说也是一个移动的笔记,只要在一个有网络的地方就可以查阅。

normalize的MATLA函数代码实现如下所示,要求输入三个参数:数据矩阵,规范化后的最小值lowbound和规范化后的最大值upbound。其中数据矩阵要求每一行表示一个多维样本点。函数将输出一个范围在lowbound到upbound之间的新的数据矩阵。

function [ Result ] = normalize( Data,lowbound,upbound )

%将数据矩阵Data进行规范化

%新的上界是upbound,新的下界是lowbound

%要求输入的数据矩阵中每一行表示一个多维样本点

msize = size(Data);

Result = zeros(msize(1),msize(2));%存储结果

mins = Data(1,:);%储存每一维的最小值

maxs = Data(1,:);%储存每一维的最大值

%%%%

% 计算每一维度的最小值与最大值

%

%%%%

for i = 1:msize(1)

for j = 1:msize(2)

if Data(i,j)maxs(j)

maxs(j) = Data(i,j);

end

end

end

for i = 1:msize(1)

for j = 1:msize(2)

Result(i,j) = lowbound + (Data(i,j)-mins(j))/(maxs(j)-mins(j))*(upbound-lowbound);

end

end

end

MATLAB其实是有现成的函数,也可以直接调用MATLAB中的库函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值