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

📄 随机模拟dvd.m

📁 many matlab script ,i colect many things about mathmatics and many method of math problem
💻 M
字号:
y=randperm(1000);
limit0=zeros(100,1);
yita=0.32;
beta=0.85;
C=zeros(1000,100);
for i=1:1000
    for j=1:100
        if Manyidu(i,j)>0
            C(i,j)=1/Manyidu(i,j);
        end
    end
end
for j=1:100
    for i=1:1000
       if Manyidu(i,j)>0
           limit0(j)=limit0(j)+1;
       end
    end
end
N=limit0'*ones(100,1);
limit1=floor(yita*limit0);
N0=limit1'*ones(100,1);
D=zeros(1000,1);
jieguo0=zeros(1000,100);
for k=1:10
    for j=1:100
         for i=1:1000
            if Manyidu(i,j)==k&limit1(j)>0&D(i)<3
                jieguo0(i,j)=1;
                D(i)=D(i)+1;
                limit1(j)=limit1(j)-1;
            end
        end  
    end
end
%第二次分配
for j=1:100
    limit2(j)=0;
    for i=1:600
        limit2(j)=jieguo0(y(i),j)+limit2(j);
    end
end
for i=1:600
    D2(y(i))=0;
end
for k=1:10
    for j=1:100
         for i=1:600
            if Manyidu(y(i),j)==k&limit2(j)>0&D2(y(i))<3&jieguo0(y(i),j)==0
                jieguo0(y(i),j)=1;
                D2(y(i))=D2(y(i))+1;
                limit2(j)=limit2(j)-1;
            end
        end  
    end
end
nA=0;
nB=0;
kA=(1+1/2+1/3+1/4+1/5+1/6+1/7)*beta;
kB=(1+1/2+1/3)*beta;
for i=1:1000
    my(i)=C(i,:)*jieguo0(i,:)';
end
for i=1:1000
    if(i<=600&my(y(i))>=kA)
        nA=nA+1;
    end
    if(i>600&my(y(i))>=kB)
        nB=nB+1;
    end
end 
for i=1:1000
    n1(i)=jieguo0(i,:)*ones(100,1);
end

⌨️ 快捷键说明

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