Posté(e) le 22 mai 201114 a Bonsoir, J'aimerais savoir comment si le max ou bien le min change,j'applique pas cette ligne et que j'initialise MASQUE et conserver le dernier MASQUE Matrice=Matrice.*MASQUE; epse=0.0075; epsilon = 0.005; MASQUE=ones(256,256); somme = sum(MASQUE(:)); while(abs(somme)>epsilon) A_Auto_Cor1=fftshift(ifft2(A_Auto_Cor1.*MASQUE)); G1=abs(A_Auto_Cor1).^2; A_Auto_Cor2=fftshift(ifft2(A_Auto_Cor2.*MASQUE)); G2=abs(A_Auto_Cor2).^2; A_Auto_Cor3=fftshift(ifft2(A_Auto_Cor3.*MASQUE)); G3=abs(A_Auto_Cor3).^2; X_XCor1=fftshift(ifft2(X_XCor1.*MASQUE)); G4=abs(X_XCor1).^2; X_XCor2=fftshift(ifft2(X_XCor2.*MASQUE)); G5=abs(X_XCor2).^2; X_XCor3=fftshift(ifft2(X_XCor3.*MASQUE)); G6=abs(X_XCor3).^2; [A1 ID1] = max(G1(:)); [A2 ID2] = max(G2(:)); [A3 ID3] = max(G3(:)); [M1 id1] = max(G4(:)); [M2 id2] = max(G5(:)); [M3 id3] = max(G6(:)); M123=[M1 M2 M3]; A123=[A1 A2 A3]; MAXC=max(M123) MINA=min(A123) if MAXC==M1 trans_four_C=TF7; elseif MAXC==M2 trans_four_C=TF8; else trans_four_C=TF9; end if MINA==A1 trans_four_A=TF1; elseif MINA==A2 trans_four_A=TF2; else trans_four_A=TF3; end %% DC Matrice=abs(trans_four_C).*cos(angle(trans_four_C) - angle(trans_four_A))-epse*abs(trans_four_A); Matrice=Matrice.*MASQUE; somme = sum(Matrice(:)); if (abs(somme)<epsilon),break,end if somme>0 [maximum indice] = max(Matrice(:)); Matrice(indice) = 0; MASQUE(indice) = 0; else [minimum indice] = min(Matrice(:)); Matrice(indice) = 0; MASQUE(indice) = 0; end somme = sum(Matrice(:)); end Merci
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.