用Matlab写求‘熵值法确定权重系数’的程序怎样写法

用Matlab写求‘熵值法确定权重系数’的程序怎样写法,第1张

x=[1 2 3 56 7

2 3 5 45 8

];

[n,m]=size(x);

k=1/log(n);

X=zeros(n,m);

for j=1:m

for i=1:n

c=sort(x(:,j));

big=x(n,j);

small=x(1,j);

X(i,j)=(x(i,j)-small)/(big-small)+1;

end

end

p=[];

for j=1:m

th=0;

for t=(X(:,1))'

th=th+t;

end

Ph=X(:,j)/th;

p=[p Ph];

end

e=[];

for j=1:m

eg=0;

for i=1:n

eh=-kp(i,j)log(p(i,j));

eg=eg+eh;

end

e=[e,eg];

end

E=0;

for j=1:m

E=E+e(j);

end

g=[];

for j=1:m

gh=(1-e(j))/(m-E);

g=[g,gh];

end

Eh=0;

for nh=g

Eh=Eh+nh;

end

w=[];

for j=1:m

wh=g(j)/Eh;

w=[w,wh];

end

s=[];

for i=1:n

sh=w(i)p(i,:);

shen=0;

for she=sh

shen=shen+she;

end

s=[s ,shen];

end

(来源网络)

常用的清晰度评价算法有: 频域函数  :对焦越好、高频部分越多,细节越多,图像越清晰。 灰度函数  :对焦越好,和周围相邻灰度点差值越大,边缘越清晰,图像越清晰。 信息熵函数:对焦越好,图像包含的信息熵越大,包含信息量更大,图像越清晰。 统计学函数:对焦越好,直方图多样性越好,图像越清晰。 常用的搜索算法有: 1、函数逼近法 2、Fibbonacci搜索法 3、爬山搜索算法

%求近似熵函数function resultapen=APEN(input_signal,input_m,input_r);%input_signal为要求近似熵的序列,input_m为给定的模式的维数,input_r为相似容限x=input_signal;m=input_m;r=input_r;[input_row,input_col]=size(x);%输入的信号序列一般为1行n列n=input_col;%信号的点数

rownum=n-m+1;%构造的m维矢量的行数signalmatrix=zeros(rownum,m);%构造信号矩阵for i=1:1:rownum for j=1:1:m signalmatrix(i,j)=x(i+j-1); endendsumC=0;

for ii=1:1:rownum nnum=0; for jj=1:1:rownum U=zeros(m,1);%存放 d=0; for kk=1:1:m U(kk,1)=abs(signalmatrix(ii,kk)-signalmatrix(jj,kk)); end d=max(U);%X(i)与X(j)的距离的最大值 if d<r nnum=nnum+1;%如果距离小于阈值,则个数+1; end end C=(nnum-1)/(rownum-1); if C>0 sumC=sumC+log(C); endendresultapen=sumC/rownum;return;

以上就是关于用Matlab写求‘熵值法确定权重系数’的程序怎样写法全部的内容,包括:用Matlab写求‘熵值法确定权重系数’的程序怎样写法、自动对焦实验,需要一个程序(自动对焦图像清晰度算法):在Matlab中将20张图挑出最清晰的一张、近似熵的MATLAB计算程序,或者其他可以用于计算近似熵的软件程序,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10625481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存