www.pudn.com > work.rar > fuliye.m


b=zeros(32,32); 
b(4:9,4:29)=1; 
b(10:30,4:9)=1; 
b(17:21,4:26)=1; 
A=b;a=rand(32,32); 
aa=exp(i*2*pi*a); 
AA=A.*aa; 
A=fft2(AA); 
A1=abs( fft2(A)); 
B2=angle(fft2(A))/(2*pi); 
A1max=max(max(A1)); 
A1=A1/A1max; 
s=1; 
figure; 
axis([0 32 0 32]);; 
hold on; 
for J=1:32 
    y0=s/2+(J-1)*s; 
    for I=1:32 
        x0=s/2+(I-1)*s; 
        H=A1(J,I)*s; 
        F1=B2(J,I)*s; 
        W=s/2; 
        if abs(F1)<=s/4 
            x2=x0-W/2;x3=x0+W/2;y2=y0-H/2;y3=y0+H/2; 
            fill([x2,x2,x3,x3],[y2,y3,y3,y2],'k');; 
        else if F1>s/4; 
                x22=x0+F1-W/2;x33=x0+s/2; 
                y22=y0-H/2;y33=y0+H/2; 
                 fill([x22,x22,x33,x33],[y22,y33,y33,y22],'k'); 
                 x222=x0-s/2;x333=x0+F1+W/2-s; 
                  fill([x222,x222,x333,x333],[y22,y33,y33,y22],'k'); 
            else x22=x0-s/2;x33=x0+F1+W/2; 
                y2=y0-H/2;y3=y0+H/2; 
                 fill([x22,x22,x33,x33],[y2,y3,y3,y2],'k'); 
                 x222=x0+F1-W/2+s;x333=x0+s/2; 
                  fill([x222,x222,x333,x333],[y2,y3,y3,y2],'k'); 
            end 
        end 
    end 
end 
axis ('equal'); 
axis off;