⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 de2bi.m

📁 关于用matlab实现遗传算法的程序
💻 M
字号:
function b = de2bi(d, n, p)
%function b = de2bi(d, n, p)
%DE2BI  转换10进制数为二进制数。
%        B = DE2BI(D) 转换正整数向量D成二进制矩阵B。
%        二进制矩阵B的每一行表示十进制向量D中相应的数。
%       B = DE2BI(D, N) 转换正整数向量D成二进制矩阵B,
%        但指定B的列数为N。
%       B = DE2BI(D, N, P) 转换正整数向量D成p进制矩阵B。
%      p进制矩阵B的每一行表示十进制向量D中相应的数。
%           作者:机自01-2班曾新海
%           zxh21st@163.com
d = d(:);len_d = length(d);
if min(d) < 0, error('Cannot convert a negative number');
elseif ~isempty(find(d==inf)),
     error('Input must not be Inf.');
elseif find(d ~= floor(d)), 
    error('Input must be an integer.');  
end;
if nargin < 2,
   tmp = max(d); b1 = [];
   while tmp > 0
      b1 = [b1 rem(tmp, 2)];tmp = floor(tmp/2);
   end;
   n = length(b1);
end;
if nargin < 3,p = 2;end;
b = zeros(len_d, n);
for i = 1 : len_d
   j = 1;tmp = d(i);
   while (j <= n) & (tmp > 0)
      b(i, j) = rem(tmp, p);tmp = floor(tmp/p);
      j = j + 1;
end;end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -