如何用matlab实现矩阵的列归一化?
2个回答
展开全部
最简单的办法,把元素直接映射到(0,1)区间:
A=[1,3,5,1/3,2,4];
A1=A./sum(A);
将矩阵按列归一化的函数
function [Array_dst]=normalize(Array_src,ymin,ymax)
[l,r]=size(Array_src);
Bound=[];
for i=1:r
Bound(1,i)=min(Array_src(:,i));
Bound(2,i)=max(Array_src(:,i));
if abs(Bound(1,i)-Bound(2,i))<0.000000001
Bound(1,i)=0;
Bound(2,i)=1;
end
end
[m,n]=size(Array_src);
for i=1:m
Array_dst(i,:)=ymin + (Array_src(i,:)-Bound(1,:))./(Bound(2,:)-Bound(1,:)).*( ymax - ymin );
end
参考资料
mapminmax 按列归一化的问题.ilovematlab[引用时间2018-4-1]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询