1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
lo=4;la=4;XX=2;YY=2;xx=8;yy=8;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A = randn(64,64);
B = rand(64,1);
b=B;
nz=xx*yy;
C=1:nz;
C1=reshape(C,yy,xx);
C2=C1(end:-1:1,:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%DEBUT DE LA BOUCLE %%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%U=[] ;
t=[];
H=1;
for i=1:xx-1
for j=2:yy-1
if (mod(xx,i)==0 )&(mod(yy,j)==0),
XX=xx/i;
YY=yy/j;
nZmini= XX*YY;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
lo(i,j-1) =xx/XX;% à stocker à chaque itération mais comment?
la(i,j-1) =yy/YY;% à stocker à chaque itération mais comment?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
res=[];
k=1;
for ind1=1:lo(i,j-1);
for ind2=0:(la(i,j-1)-1);
res(k)=C2(end-ind2,ind1);
k=k+1;
end
end
pal=YY*((lo(i,j-1)*la(i,j-1))-1);
pac=yy*lo(i,j-1);
for saut=1:pac:XX*pac;
for lig=0:la(i,j-1):la(i,j-1)*(YY-1);
for ind3=1:(lo(i,j-1)*la(i,j-1))-1;
m(saut+lig , ind3+round(lig/la(i,j-1))*((lo(i,j-1)*la(i,j-1))-1)+...
round(saut /pac)*((lo(i,j-1)*la(i,j-1))-1)*YY )= 1;
m(saut+lig+(res(1+ind3)-1),ind3+round(lig/la(i,j-1))*((lo(i,j-1)*la(i,j-1))-1)+...
round(saut /pac)*((lo(i,j-1)*la(i,j-1))-1)*YY )= -1;
end
end
end
ncmax=((lo(i,j-1)*la(i,j-1))-1)*XX*YY;
mt = transpose(m);
mvid = zeros(ncmax,ncmax);
M_optim = [A,m ; mt,mvid];
bo = zeros(ncmax,1) ;
B_optim = [B ; bo];
Alf = M_optim\B_optim ;
Al=Alf(1:nz);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%LA PARTIE DE CHANGEMENT
%U=(A*Al);
%Erreur = b - U;
% CHANGEMENT PROPOSEE PAR caro-line
U{H}=(A*Al)
Er = b - U{H};
t(H)=max(abs(Er))
H=H+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
end
end |
Partager