Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 8a23b723 authored by Nicolas Bellot's avatar Nicolas Bellot Committed by hhakim
Browse files

demo fact hadamard bug solved

parent 526d3b78
Branches
Tags
No related merge requests found
...@@ -54,23 +54,23 @@ M = log2(n); ...@@ -54,23 +54,23 @@ M = log2(n);
%% Setting of the parameters %% Setting of the parameters
params.nrow=n; params_hadamard.nrow=n;
params.ncol=n; params_hadamard.ncol=n;
params.nfacts = M; params_hadamard.nfacts = M;
params.cons = cell(2,M-1); params_hadamard.cons = cell(2,M-1);
for j=1:M-1 for j=1:M-1
params.cons{1,j} = {'splincol',2,n,n}; params_hadamard.cons{1,j} = {'splincol',2,n,n};
params.cons{2,j} = {'splincol',n/2^j,n,n}; params_hadamard.cons{2,j} = {'splincol',n/2^j,n,n};
end end
params.niter1 = 30; params_hadamard.niter1 = 30;
params.niter2 = 30; params_hadamard.niter2 = 30;
params.update_way = 1; params_hadamard.update_way = 1;
params.verbose = 0; params_hadamard.verbose = 0;
hadamard_faust = faust_decompose(matrix,params); hadamard_faust = faust_decompose(matrix,params_hadamard);
Xhat = full(hadamard_faust); Xhat = full(hadamard_faust);
relative_error = norm(matrix - Xhat)/norm(matrix); relative_error = norm(matrix - Xhat)/norm(matrix);
fprintf(['\n\n relative error between hadamard matrix and its transform : ' num2str(relative_error) '\n']); fprintf(['\n\n relative error between hadamard matrix and its transform : ' num2str(relative_error) '\n']);
...@@ -119,7 +119,7 @@ format_fig='-dpng'; ...@@ -119,7 +119,7 @@ format_fig='-dpng';
fighandle=figure; fighandle=figure;
hold on; hold on;
subplot(1,params.nfacts+1,1); subplot(1,params_hadamard.nfacts+1,1);
imagesc(Xhat); axis square imagesc(Xhat); axis square
set(gca,'xtick',[],'ytick',[]) set(gca,'xtick',[],'ytick',[])
...@@ -129,8 +129,8 @@ for i=1:M ...@@ -129,8 +129,8 @@ for i=1:M
facts{i}=get_fact(hadamard_faust,i); facts{i}=get_fact(hadamard_faust,i);
end end
for kk = 1:params.nfacts for kk = 1:params_hadamard.nfacts
subplot(1,params.nfacts+1,1+kk) subplot(1,params_hadamard.nfacts+1,1+kk)
imagesc(facts{kk}); axis square imagesc(facts{kk}); axis square
set(gca,'xtick',[],'ytick',[]) set(gca,'xtick',[],'ytick',[])
end end
...@@ -142,13 +142,13 @@ print(figure_name, format_fig); ...@@ -142,13 +142,13 @@ print(figure_name, format_fig);
fighandle=figure; fighandle=figure;
hold on; hold on;
subplot(1,params.nfacts+1,1); subplot(1,params_hadamard.nfacts+1,1);
imagesc(Xhat); axis square imagesc(Xhat); axis square
set(gca,'xtick',[],'ytick',[]) set(gca,'xtick',[],'ytick',[])
for kk = 1:params.nfacts for kk = 1:params_hadamard.nfacts
subplot(1,params.nfacts+1,1+kk) subplot(1,params_hadamard.nfacts+1,1+kk)
spy(facts{kk}); axis square spy(facts{kk}); axis square
set(gca,'xtick',[],'ytick',[]) set(gca,'xtick',[],'ytick',[])
end end
...@@ -160,3 +160,4 @@ print(figure_name, format_fig); ...@@ -160,3 +160,4 @@ print(figure_name, format_fig);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment