dla_simulation.txt

来自「用matlab实现DLA模型的分形形貌模拟」· 文本 代码 · 共 39 行

TXT
39
字号
function [I,F]=DLA_simulation(I0,J,N)

for i=1:N
    I=I0;
    J(I==0)=0;
    E=bwperim(I,8);%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    E(1,:)=0;E(size(I,1),:)=0;E(:,1)=0;E(:,size(I,2))=0;E=E==1;
    I(E)=0;
    
    K=roifill(I,J);
    
    [x,y]=find(E==1);
    n=size(x,1);
    
    for j=1:n
        II=I0((x(j)-1):(x(j)+1),(y(j)-1):(y(j)+1));II=double(II==0);%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        NII=sum(II(:));
        U=K((x(j)-1):(x(j)+1),(y(j)-1):(y(j)+1));U=mean(unique(U(:)));
        
        PP=tansig(2*NII*U);
        P=rand;
        if P<PP
            
            I0(x(j),y(j))=0;
            
        end
        
    end
    
    [X,Y]=find(I0==0);
    plot(X,Y,'.');set(gca,'Xlim',[151 351],'Ylim',[151 351],'XTickLabel',[],'YTickLabel',[],'Position',[0 0 1 1]);set(gcf,'color','w');axis off;drawnow;F(i)=getframe;
    
end





I=I0;

⌨️ 快捷键说明

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