Add lyh-非满秩相变
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
|
||||
len = 256;
|
||||
w = 0.05;
|
||||
m = [0:len-1];
|
||||
n = m;
|
||||
B = m - n';
|
||||
B = (sin(2*pi*w*B)./(pi*B));
|
||||
for i = 1:len
|
||||
B(i,i) = 2*w;
|
||||
end
|
||||
t = [0:0.1:25.5];
|
||||
r = 1/sqrt(2*pi*1)*exp(-t.^2/2*1);
|
||||
gau = toeplitz(r);
|
||||
|
||||
|
||||
|
||||
|
||||
%%
|
||||
len = 64;
|
||||
w = 0.2;
|
||||
m = [0:len-1];
|
||||
n = m;
|
||||
B = m - n';
|
||||
B_new = sin(2*pi*w*B)./(pi*B);
|
||||
for i = 1:len
|
||||
B_new(i,i) = 2*w;
|
||||
end
|
||||
|
||||
cor = 0.236;
|
||||
|
||||
final = zeros(len^2,len^2);
|
||||
for j = 1:len
|
||||
for k = 1:len
|
||||
tmp = sin(2*pi*w*(cor*B+(j-k)))./(pi*(cor*B+(j-k)));
|
||||
tmp(cor*B+(j-k) == 0) = 2*w;
|
||||
final((j-1)*len+1:j*len,(k-1)*len+1:k*len) = tmp.*B_new;
|
||||
end
|
||||
end
|
||||
|
||||
[a,b] = eig(final);
|
||||
plot(diag(b));
|
||||
c = diag(b);
|
||||
M = c'*c;
|
||||
plot(sort(M(:)));
|
||||
|
||||
|
||||
|
||||
%%
|
||||
|
||||
K = kron(B,B);
|
||||
|
||||
[a,b] = eig(B);
|
||||
plot(diag(b));
|
||||
c = diag(b);
|
||||
M = c*c';
|
||||
plot(sort(M(:)));
|
||||
|
||||
|
||||
f = zeros(1,1200);
|
||||
f(1:120) = randn(120,1);
|
||||
f(1081:1200) = randn(120,1);
|
||||
t = ifft(f);
|
||||
t = t(1:64);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%B = B + diag(exp(1i*2*pi*0.3*[0:len-1]))*B*diag(exp(1i*2*pi*0.3*[0:len-1]))';
|
||||
|
||||
[a,b] = eig(B);
|
||||
% plot(sort(abs(diag(b))))
|
||||
|
||||
D = B(1:8,:);
|
||||
E = B(1:2:16,:);
|
||||
[U2,S2,V2] = svd(D);
|
||||
[U3,S3,V3] = svd(E);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%sel = (1:2:1023);
|
||||
o = randn(1024,1024);
|
||||
%o = orth(o);
|
||||
sel = randperm(1024,512);
|
||||
% C = o(sel,:)*b;
|
||||
% D = B(sel,:);
|
||||
% E = o(sel,randperm(1024,204));
|
||||
D = B(1:512,:);
|
||||
C = B(sel,:);
|
||||
E = B(1:2:1023,:);
|
||||
[U,S,V] = svd(C);
|
||||
[U2,S2,V2] = svd(D);
|
||||
[U3,S3,V3] = svd(E);
|
||||
s = diag(S);
|
||||
s2 = diag(S2);
|
||||
s3 = diag(S3);
|
||||
figure;
|
||||
subplot(1,4,1);
|
||||
plot(s);
|
||||
subplot(1,4,2);
|
||||
plot(s2);
|
||||
subplot(1,4,3);
|
||||
plot(s3);
|
||||
q = sum(s);
|
||||
subplot(1,4,4);
|
||||
plot(flipud(abs(diag(b))));
|
||||
|
||||
|
||||
%t1 = squeeze(resulta(:,:,1));
|
||||
%t2 = squeeze(resultb(:,:,1));
|
||||
% t1 = squeeze(resulta(:,:,2));
|
||||
% t2 = squeeze(resultb(:,:,2));
|
||||
% figure;
|
||||
|
||||
result_cona = reshape(result_cona,200,20,2);
|
||||
result_conb = reshape(result_conb,200,20,2);
|
||||
for i = 1:2
|
||||
t1 = squeeze(result_cona(:,:,i)+t3(:,:,i))/2;
|
||||
t2 = squeeze(result_conb(:,:,i)+t4(:,:,i))/2;
|
||||
figure
|
||||
hold on
|
||||
plot(mean(t1),'-r.');
|
||||
plot(mean(t2),'-bo');
|
||||
h = legend("$P_{\ell_{2,1}}'$","$P_{\ell_{2,1}}$","Location","Southeast","Fontsize",15);
|
||||
set(h,'Interpreter','latex');
|
||||
xlabel("\fontname{Times New Roman} Block Sparsity \it s_B");
|
||||
ylabel("\fontname{Times New Roman} Block Contribution Error");
|
||||
end
|
||||
|
||||
|
||||
xlabel("\fontname{Times New Roman} Block Sparsity \it K");
|
||||
ylabel("\fontname{Times New Roman} Block Contribution Error");
|
||||
|
||||
|
||||
t3 = result_cona;
|
||||
t4 = result_conb;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user