F2B.m
上传用户:qzfzqd
上传日期:2013-04-17
资源大小:7k
文件大小:1k
源码类别:

matlab例程

开发平台:

Matlab

  1. function  [pops,len]=F2B(x,bounds,len)
  2. %二进制编码转化为十进制
  3. %[pops]=F2B(x,bounds,len)
  4. %x       二进制串如x=[0 1 1  0 0 1 0  1 0 1 0 1]
  5. %len     二进制串的分段len=[3  4  5]
  6. %bounds  边界约束
  7. %pops    十进制
  8. %           作者:机自01-2班曾新海
  9. %           zxh21st@163.com
  10. n=length(x);
  11. m=length(len);
  12. q=[];
  13. for i=1:m
  14. q(i)=sum(len(1:i));
  15. end
  16. q=[0 q];
  17. for j=1:m
  18.     pops(j)=bounds(j,1);
  19.     p=[];
  20.     p=x(q(j)+1:q(j+1));
  21.     L1=q(j+1)-q(j);
  22.     for k=1:L1
  23.         pops(j)=pops(j)+p(k)*2^(k-1);
  24.     end
  25. end
  26.