流星愿888 发表于 2012-5-20 17:49

求大神帮我看一下程序哪出错了,为什么会运行不起来

1 仿真程序
        % H 监督矩阵
        % G 生成矩阵
        % C 编码矩阵
        % I 输入信息序列
        % R 信道输出码
        % A 纠错输出码序列
        % E 错码矩阵
        % S 校验子矩阵
        % M 校验子的行的十进制序列
        %信道编码程序
   clear all
   close all
   H=[0 1 1 1 0 0;
      1 0 1 0 1 0;
      1 1 0 0 0 1];                            %监督矩阵H
   G=gen2par(H);                            %求H阵的生成矩阵G
   I=;
   C=rem(I*G,2);                            %求码字C
   disp('所得的编码结果为:C=');               %显示输出码字C
   disp(C);
   %信道译码程序
   clear all;
   close all;
   H=[0 1 1 1 0 0;
      1 0 1 0 1 0;
      1 1 0 0 0 1];                        %监督矩阵H
   B=input('请输入接收码组B:');
   =size(B);                           %返回数组B的维数
   E=[0 0 0 0 0 0;0 0 0 0 0 1;0 0 0 0 1 0;0 0 0 1 0 0;
      0 0 1 0 0 0;0 1 0 0 0 0;1 0 0 0 0 0;1 0 0 1 0 0];
   S=rem(B*H',2);                         %求校验子S
   
        i=1;
   for i=1:1:a
      
        M(i,1)=S(i,1).*4+S(i,2).*2+S(i,3);       %求校验子所表示的十进制整数
end
   for i=1:1:a
   switch(M(i,1))
      case 0
      A(i,:)=B(i,:)+E(1,:);
      case 1
      A(i,:)=B(i,:)+E(2,:);
      case 2
      A(i,:)=B(i,:)+E(3,:);
      case 3
      A(i,:)=B(i,:)+E(4,:);
      case 4
      A(i,:)=B(i,:)+E(5,:);
      case 5
      A(i,:)=B(i,:)+E(6,:);
      case 6
      A(i,:)=B(i,:)+E(7,:);
      case 7
      A(i,:)=B(i,:)+E(8,:);
      
   end
   end
        for i=1:1:a
   switch(M(i,1))
      case 0
      disp(‘没有出现错误!’);
      case 1
      disp(‘注意:第1位出现一个错误!请纠正!’);
      case 2
      disp(‘注意:第2位出现一个错误!请纠正!’);
      case 3
      disp(‘注意:第3位出现一个错误!请纠正!’);
      case 4
      disp(‘注意:第4位出现一个错误!请纠正!’);
      case 5
      disp(‘注意:第5位出现一个错误!请纠正!’);
      case 6
      disp(‘注意:第6位出现一个错误!请纠正!’);
      case 7
      disp(‘注意:第6位和第3位出现两个错误!请纠正!’);   
        end
end
        A=rem(A,2);               %求出正确的编码
   disp('检纠错后的码组A=');
   disp(A);                     %显示正确的编码
   j=1;
    while j<=3                  %提取信息位
      I(:,j)=A(:,j);
      j=j+1;
    end
      disp('译出的信息序列I=');
      disp(I);                     %显示原信息码

运行后在要求输入B接收码时出错,是怎么回事
页: [1]
查看完整版本: 求大神帮我看一下程序哪出错了,为什么会运行不起来