%jioujiaoyan1 奇偶校验1的源代码
clc;clear;
m=input('请输入行:');
n=input('请输入列:');
A=randint(m,n);
A
for k=1:2
sum=zeros(1,m);
l=input('请选择奇偶校验(0、偶校验 1、奇校验):');
for i=1:m
for j=1:n
sum(i)=sum(i)+A(i,j);
z=sum(i);
end
if rem(z,2)==l
A(i,n+1)=0;
else
A(i,n+1)=1;
end
end
A
end
%jioujiaoyan2 奇偶校验2的源代码
clc;clear;
m=input('请输入行:');
n=input('请输入列:');
A=randint(m,n);
A
for k=1:2
sum=zeros(1,m);
for i=1:m
for j=1:n
sum(i)=sum(i)+A(i,j);
z=sum(i);
end
if rem(z,2)==k-1
A(i,n+1)=0;
else
A(i,n+1)=1;
end
end
if k==1
fprintf('偶校验:')
else
fprintf('奇校验:')
end
A
end
%说明:两个程序功能基本相同,第一个是可以选择奇校验或偶校验,第二个则是直接分别输出奇校验和偶校验,其中源码的行列自由输入,随机生成0-1矩阵。校验码为附加的最后一列。