matlab 求和函数
求能告诉我这两个公式怎么编啊
求能告诉我这两个公式怎么编啊
答案:matlab 编写
%先来计算Ej
sumtemp=zeros[1,m];
wj=zeros[1,m]; Ej=zeros[1,m];
Ejsum=0;
k=1/(logn);
pij=zeros[m,n]; %开辟一个0矩阵 m*n的零矩阵;
pij=[p11 p21 p31 .....pn1
p12 p22 p32...........
..............................
p1m p2m............p3m]; %将pij值存入;
for j=1:1:m
for i=1:1:n
sumtemp(1,j)=pij(j,i)*log(pij(j,i))+sumtemp(1,j);
end
Ej(1,j)=-k*sumtemp(1,j);
end
for j=1:1:m
Ejsum=Ej(1,j)+Ejsum;
end
for j=1:1:m
wj(1,j)=(1-Ej(1,j))/(m-Ejsum);
end
%wj是一个1*m的矩阵 存储了j指标的商权值wj。
希望对你有帮助~
其他:首先p是个n*m的矩阵
%n=3;m=4;
%p=rand(n,m);用于检验
sum1=0;sum2=0;k=1/log(n);
for j=1:m
for i=1:n
sum1=sum1+p(i,j) ;
end
Ej=-k*sum1;
sum2=sum2+Ej;
wj(j)=(1-Ej)/(m-sum2);
end
wj
上一个:Matlab中bispeci函数总有问题如何解决
下一个:C语言中有没有像matlab中的find函数那样的功能的函数啊?