当前位置:编程问答 > Matlab >

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函数那样的功能的函数啊?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,