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

📄 agl_sim.m

📁 修正的euclid算法matlab程序
💻 M
字号:
%%例7.7  P281
%clear;
clc;
num=0;
t=10; 
line=13;%G(2^13);列
row=2*t+1;
R=[zeros(row-1,line);[1,0,0,0,0,0,0,0,0,0,0,0,0];];%lsb-msb[0,0,0,0,0,0,0,1,1,0,1,1,0;]
%Q=[0,0,0,0,0,0,0,0,0,0,0,0,0;%0
%   1,0,1,0,0,1,1,0,0,1,1,0,0;%1
%   1,0,0,0,1,1,1,1,0,1,0,1,1;%2
%   1,0,1,1,0,0,0,1,1,1,0,0,0;%3
%   0,1,1,0,1,0,0,0,0,0,0,1,1;%4
%   0,1,1,1,1,1,1,0,1,0,0,0,0;%5
%   1,1,1,1,1,0,1,1,1,1,0,0,0;%6
%   1,0,0,0,0,0,1,0,1,1,0,1,1;%7
%   1,0,1,0,1,0,1,0,1,1,1,1,0;%8
%   0,1,1,1,1,0,0,1,1,1,1,1,0;%9
%   0,0,1,1,0,0,0,1,1,0,1,0,1;%10
%   0,1,0,0,0,0,1,1,1,1,1,1,1;%11
%   1,1,0,1,1,0,1,1,0,1,0,0,1;%12
%   0,1,1,1,0,1,1,1,0,0,1,1,0;%13
%   0,0,0,1,1,1,1,1,1,0,1,1,1;%14
%   0,1,0,0,1,0,1,0,1,1,0,0,1;%15
%   0,1,0,0,1,1,0,0,1,0,0,1,0;%16
%   0,0,1,0,1,0,1,0,1,1,0,1,1;%17
%   1,0,0,0,0,0,1,0,1,0,0,1,1;%18
%   1,1,1,0,1,1,0,1,1,0,1,1,1;%19
%   0,0,0,0,0,0,0,0,0,0,0,0,0;];
Q=[s;zeros(1,13)];
%row=2*t;
%R=[zeros(row-1,line);[1,0,0,0];];
%Q=[1,1,0,1;1,1,1,1;0,0,1,1;1,1,1,1;1,0,0,1;1,0,0,1;];
v=zeros(t+1,line);%错误多项式
u=[[1,0,0,0,0,0,0,0,0,0,0,0,0];zeros(t,line);];
%a=zeros(1,line);%R的最高项系数
%b=zeros(1,line);%Q的最高项系数 
l=0;%移位的数目及标志
%R_tmp=zeros(row,line);
%Q_tmp=zeros(row,line);
%v_tmp=zeros(t+1,line);
%u_tmp=zeros(t+1,line);
deg_v=0;
deg_R=row-1;
deg_Q=deg(Q,row,line);
while ~(deg_v>deg_R)
    a=coe(R,row,line);
    b=coe(Q,row,line);
    %a=R(row-1,:);%%%%
    %b=Q(row-1,:);%%%
    l=deg_R-deg_Q;
    for i=1:row
        R_tmp(i,:)=mul_2_13(b,R(i,:));
        Q_tmp(i,:)=mul_2_13(a,Q(i,:));
    end
    for i=1:t+1
        v_tmp(i,:)=mul_2_13(b,v(i,:));
        u_tmp(i,:)=mul_2_13(a,u(i,:));
    end
    if l>=0
        if l>0
            for i=1:abs(l)
                Q_tmp(row:-1:2,:)=Q_tmp(row-1:-1:1,:);%%%
                Q_tmp(1,:)=zeros(1,line);
                %Q_tmp(row,:)=zeros(1,line);%%%
                u_tmp(t+1:-1:2,:)=u_tmp(t:-1:1,:);
                u_tmp(1,:)=zeros(1,line);
            end
        end
    R=xor(R_tmp,Q_tmp);
    v=xor(v_tmp,u_tmp);
    %Q=Q;
    %u=u;
    else
            for i=1:abs(l)
                R_tmp(row:-1:2,:)=R_tmp(row-1:-1:1,:);
                R_tmp(1,:)=zeros(1,line);
                v_tmp(t+1:-1:2,:)=v_tmp(t:-1:1,:);
                v_tmp(1,:)=zeros(1,line);
            end
     Q=R;
    % Q(1:row-1,:)=R(1:row-1,:);%%%%
     u=v;
     R=xor(R_tmp,Q_tmp);
     v=xor(v_tmp,u_tmp);
    end
    deg_R=deg(R,row,line);
    deg_v=deg(v,t+1,line);
    deg_Q=deg(Q,row,line);
    num=num+1
end

⌨️ 快捷键说明

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