'DEZIGZAG' genera una matriz a partir de un vector columna con ordenacion zigzag en plan JPEG (Generado con ZIGZAG) OJO! Solo para matrices cuadradas USO: matriz=dezigzag(linea);
0001 function aaa=dezigzag(a) 0002 0003 %'DEZIGZAG' genera una matriz a partir de un vector columna con 0004 % ordenacion zigzag en plan JPEG (Generado con ZIGZAG) 0005 % 0006 % OJO! Solo para matrices cuadradas 0007 % 0008 % USO: matriz=dezigzag(linea); 0009 0010 NN=length(a); 0011 0012 N=sqrt(NN); 0013 0014 %b=fliplr(a); 0015 %aa=diag(b,N-1); 0016 0017 in=1; 0018 aaa=zeros(N,N); 0019 for i=N-1:-1:1-N, 0020 0021 fin=in+N-1-abs(i); 0022 dia=a(in:fin); 0023 if (i/2-floor(i/2))>0 0024 dia=dia(length(dia):-1:1); 0025 end 0026 eval(['aa',int2str(N-1-abs(i)),'=diag(dia,i);']) 0027 eval(['aaa=aaa+aa',int2str(N-1-abs(i)),';']) 0028 in=fin+1; 0029 0030 end 0031 0032 aaa=fliplr(aaa);